====== Introduction ====== Fabric's Update Blog: https://fabricmc.net/2023/05/25/120.html Forge's Update Primer: https://gist.github.com/ChampionAsh5357/cf818acc53ffea6f4387fe28c2977d56 ====== PoseStack -> GuiGraphics ====== All events related to gui rendering in Architectury API now all take in ''GuiGraphics'' instead of ''PoseStack''. ====== LootTables -> LootDataManager ====== ''LootEvent'' now takes in ''LootDataManager'', as ''LootTables'' no longer exist. ====== Migrate creative tabs to the registrar system ====== Tip: You can also take a look at the [[api:creative_tabs|new Creative Tabs docs]], as it details how to create the tab in 1.20 as well. Since Minecraft now registers creative tabs as a regular registry, previous ''TabSupplier'' interfaces used to defer creative tabs for Forge have been removed. All deferred methods now take in a builtin ''CreativeModeTab'', or ''ResourceKey'' or ''DeferredSupplier'' that ''RegistrySupplier'' now extends. Which means to create a creative tab now, you can use the deferred register: public static final DeferredRegister TABS = DeferredRegister.create(TestMod.MOD_ID, Registries.CREATIVE_MODE_TAB); public static final RegistrySupplier TEST_TAB = TABS.register("test_tab", () -> CreativeTabRegistry.create(Component.translatable("category.architectury_test"), () -> new ItemStack(TestRegistries.TEST_ITEM.get()))); The ''TEST_TAB'' here acts like a regular register supplier like any other registry entry, moreover, ''arch$tab'' methods now take in ''DeferredSupplier'', that you can directly pass them in.