diff --git a/gradle.properties b/gradle.properties index de35d79f..5dce810b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,7 +19,7 @@ fabric_api_version=0.100.0+1.21 mod_menu_version=11.0.1 forge_version=51.0.0 -neoforge_version=21.0.42-beta +neoforge_version=21.0.78-beta # Set to empty if not snapshots neoforge_pr= diff --git a/neoforge/src/main/java/dev/architectury/registry/forge/CreativeTabRegistryImpl.java b/neoforge/src/main/java/dev/architectury/registry/forge/CreativeTabRegistryImpl.java index ac9e492e..7e84b80a 100644 --- a/neoforge/src/main/java/dev/architectury/registry/forge/CreativeTabRegistryImpl.java +++ b/neoforge/src/main/java/dev/architectury/registry/forge/CreativeTabRegistryImpl.java @@ -63,13 +63,13 @@ public class CreativeTabRegistryImpl { if (keyEntry.getKey() instanceof TabKey.SupplierTabKey supplierTabKey) { if (Objects.equals(CreativeModeTabRegistry.getName(event.getTab()), supplierTabKey.supplier().getId())) { for (ItemStack stack : stacks.get()) { - event.getEntries().put(stack, CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.accept(stack, CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); } } } else if (keyEntry.getKey() instanceof TabKey.DirectTabKey directTabKey) { if (event.getTab().equals(directTabKey.tab())) { for (ItemStack stack : stacks.get()) { - event.getEntries().put(stack, CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.accept(stack, CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); } } } @@ -161,44 +161,24 @@ public static void modify(DeferredSupplier tab, CreativeTabRegi BUILD_CONTENTS_LISTENERS.add(event -> { if (tab.isPresent()) { if (event.getTab().equals(tab.get())) { - filler.accept(event.getFlags(), wrapTabOutput(event.getEntries()), event.hasPermissions()); + filler.accept(event.getFlags(), wrapTabOutput(event), event.hasPermissions()); } } else if (Objects.equals(CreativeModeTabRegistry.getName(event.getTab()), tab.getId())) { - filler.accept(event.getFlags(), wrapTabOutput(event.getEntries()), event.hasPermissions()); + filler.accept(event.getFlags(), wrapTabOutput(event), event.hasPermissions()); } }); } - private static CreativeTabOutput wrapTabOutput(MutableHashedLinkedMap entries) { + private static CreativeTabOutput wrapTabOutput(BuildCreativeModeTabContentsEvent event) { return new CreativeTabOutput() { @Override public void acceptAfter(ItemStack after, ItemStack stack, CreativeModeTab.TabVisibility visibility) { - if (after.isEmpty()) { - entries.put(stack, visibility); - } else { - for (Map.Entry entry : entries) { - if (ItemStack.isSameItemSameComponents(entry.getKey(), after)) { - after = entry.getKey(); - break; - } - } - entries.putAfter(after, stack, visibility); - } + event.insertAfter(after, stack, visibility); } @Override public void acceptBefore(ItemStack before, ItemStack stack, CreativeModeTab.TabVisibility visibility) { - if (before.isEmpty()) { - entries.put(stack, visibility); - } else { - for (Map.Entry entry : entries) { - if (ItemStack.isSameItemSameComponents(entry.getKey(), before)) { - before = entry.getKey(); - break; - } - } - entries.putBefore(before, stack, visibility); - } + event.insertBefore(before, stack, visibility); } }; } diff --git a/neoforge/src/main/java/dev/architectury/registry/level/entity/forge/SpawnPlacementsRegistryImpl.java b/neoforge/src/main/java/dev/architectury/registry/level/entity/forge/SpawnPlacementsRegistryImpl.java index ee54d751..37b1254f 100644 --- a/neoforge/src/main/java/dev/architectury/registry/level/entity/forge/SpawnPlacementsRegistryImpl.java +++ b/neoforge/src/main/java/dev/architectury/registry/level/entity/forge/SpawnPlacementsRegistryImpl.java @@ -26,7 +26,7 @@ import net.minecraft.world.entity.SpawnPlacementType; import net.minecraft.world.entity.SpawnPlacements; import net.minecraft.world.level.levelgen.Heightmap; -import net.neoforged.neoforge.event.entity.SpawnPlacementRegisterEvent; +import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent; import java.util.ArrayList; import java.util.List; @@ -42,10 +42,10 @@ private record Entry(Supplier> type, Spaw static { EventBusesHooks.whenAvailable(ArchitecturyConstants.MOD_ID, bus -> { - bus.addListener(event -> { + bus.addListener(event -> { for (Entry entry : entries) { Entry casted = (Entry) entry; - event.register(casted.type().get(), casted.spawnPlacement(), casted.heightmapType(), casted.spawnPredicate(), SpawnPlacementRegisterEvent.Operation.OR); + event.register(casted.type().get(), casted.spawnPlacement(), casted.heightmapType(), casted.spawnPredicate(), RegisterSpawnPlacementsEvent.Operation.OR); } entries = null; }); diff --git a/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java b/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java index 9aec8712..089ba8d0 100644 --- a/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java +++ b/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java @@ -286,6 +286,11 @@ public Holder getHolder() { return holder = registrar.getHolder(getId()); } + @Override + public ResourceKey getKey() { + return RegistrySupplierImpl.super.getKey(); + } + @Override public RegistrarManager getRegistrarManager() { return RegistrarManager.get(modId); diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index 8be17fc4..7a5e9b68 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -24,7 +24,7 @@ side = "BOTH" [[dependencies.architectury]] modId = "neoforge" type = "required" -versionRange = "[21.0.40-beta,)" +versionRange = "[21.0.78-beta,)" ordering = "NONE" side = "BOTH"