Skip to content

Instantly share code, notes, and snippets.

View apple502j's full-sized avatar
🍎
Eaten

apple502j apple502j

🍎
Eaten
View GitHub Profile

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

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:

@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.

@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 / 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 / 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).

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

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.

Chat API test cases

Assumptions

  • No mods add a command taking multiple message arguments. (Implicitly enforced by the game.)

Test cases

  • Sending a chat message through: Chat, /say, /msg
  • Chat preview: integrated (no preview), disabled, enabled
  • Execution delay: instant, 500ms (does not trigger re-preview), 2000ms (triggers re-preview)
  • Signing: no (missing key/dev env), no (does not have preview), yes
  • Command executor: none (command block), single (player-sent), others (/execute on other player), entities (/execute on non-player), multiple (/execute with multiple entities)

1.19-pre1 docs

Known Issues

  • Armor equipping sound plays when they shouldn't (e.g. villagers holding trades, armors getting damaged, using /item)
  • Leading slash causes commands from books to fail (MC-251890)

Changes

Note: this references Yarn names that are subject to changes before merging.

Chat & Networking

Yet another networking changes.