Try   HackMD

Writing down small things to check

  • Need to redo slow falling and step height attribute modifier
  • Need to reevaluate finalize spawn because the CompoundTag was removed
  • Check where RegistryCodecs#fullCodec went
  • Fix overlays
  • Replace TitleScreenModUpdateIndicator by a custom button subclass
  • Reimplement packet splitter
  • Decide what to do about FBB and RFBB
    • Status: Config packets will continue to use FBB only for now.
    • Always use RFBB in the API with the relevant registry access.
    • Fix serverbound packets to use RFBB.
  • System chat type needs looking into
  • Decide whether Direction.getNearestStable is worth keeping. Status: Removed.
  • Make sure that registry sync runs before data pack registry and tag sync.
  • Reimplement step height fix if mojang does not fix https://bugs.mojang.com/browse/MC-268917. Else remove the two related comments in Player.
  • Potentially fix https://bugs.mojang.com/browse/MC-268727?filter=-2 as it is more likely with NeoForge servers due to the longer configuration phase. Status: Fixed by Mojang.
  • Throw if (de)serializing a registry ID for a registry that is not synced.
  • Fix TierSortingRegistry and related things. (DiggerItem patch?) Status: Removed.

Notes for mod devs:

  • BlockState#neighborChanged -> BlockState#handleNeighborChanged
  • Screen#screenWidth and Screen#screenHeight are now GuiGraphics methods
  • FlowerBlock supplier patches removed, use holders
  • MobEffects, GameEvent, Attributes fields now use holders. As such, methods such as LivingEntity#getEffect accept a holder instead of a registry object
  • NBTUtils#writeBlockPos (and readBlockPos) now de/encodes a int[3] array instead of {X, Y, Z}
  • Gametests not have a skyAccess flag that when false (default) will encase the test in a barrier block box. This may affect tests that have an entity for example outside the vertical bounds
  • ClientChatReceivedEvent#getBoundChatType is null when the message is a system message
  • Entity#defineSynchedData now has a builder parameter which should be used instead of accessing entityData
  • Packs now use a PackLocationInfo that stores their ID and name. Pack.Info has been mostly replaced by Pack.Metadata (though some fields have been moved to PackSelectionConfig and PackLocationInfo); PackResources are identified using PackLocationInfos
  • Gui overlay system changes:
    • Now uses vanilla's LayeredDraw.Layer interface.
    • The system is significantly easier to patch for NeoForge. For modders, there is not much of a difference: see RegisterGuiLayersEvent and RenderGuiLayerEvent.
    • The screen width and height (previously parameters of IGuiOverlay) are now accessible via the GuiGraphics.
  • Block reach, entity reach, step height, and gravity attributes are now available in vanilla Minecraft. The NeoForge ones (such as NeoForgeMod.ENTITY_GRAVITY) have been removed.