diff --git a/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/ConventionLogWarnings.java b/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/ConventionLogWarnings.java index 314d63a80..de217e160 100644 --- a/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/ConventionLogWarnings.java +++ b/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/ConventionLogWarnings.java @@ -281,10 +281,10 @@ public class ConventionLogWarnings implements ModInitializer { } private static <T> TagKey<T> createTagKeyUnderC(RegistryKey<Registry<T>> registryKey, String tagId) { - return TagKey.of(registryKey, new Identifier(TagUtil.C_TAG_NAMESPACE, tagId)); + return TagKey.of(registryKey, Identifier.of(TagUtil.C_TAG_NAMESPACE, tagId)); } private static <T> TagKey<T> createTagKeyUnderFabric(RegistryKey<Registry<T>> registryKey, String tagId) { - return TagKey.of(registryKey, new Identifier(TagUtil.FABRIC_TAG_NAMESPACE, tagId)); + return TagKey.of(registryKey, Identifier.of(TagUtil.FABRIC_TAG_NAMESPACE, tagId)); } } diff --git a/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java b/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java index 089736146..af1a8ecc7 100644 --- a/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java +++ b/deprecated/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java @@ -44,11 +44,11 @@ public class TagRegistration<T> { @Deprecated public TagKey<T> registerFabric(String tagId) { - return TagKey.of(registryKey, new Identifier("fabric", tagId)); + return TagKey.of(registryKey, Identifier.of("fabric", tagId)); } @Deprecated public TagKey<T> registerC(String tagId) { - return TagKey.of(registryKey, new Identifier("c", tagId)); + return TagKey.of(registryKey, Identifier.of("c", tagId)); } } diff --git a/deprecated/fabric-models-v0/src/client/java/net/fabricmc/fabric/api/client/model/ExtraModelProvider.java b/deprecated/fabric-models-v0/src/client/java/net/fabricmc/fabric/api/client/model/ExtraModelProvider.java index 0a6afcbed..1d455ac69 100644 --- a/deprecated/fabric-models-v0/src/client/java/net/fabricmc/fabric/api/client/model/ExtraModelProvider.java +++ b/deprecated/fabric-models-v0/src/client/java/net/fabricmc/fabric/api/client/model/ExtraModelProvider.java @@ -36,7 +36,7 @@ public interface ExtraModelProvider { * @param out Accepts paths to be loaded. Arguments that are {@link ModelIdentifier} will be * loaded through the blockstate JSON system or, if the variant is {@code inventory}, the item model folder. * Otherwise, the argument is directly loaded as a JSON. - * For example, <pre>new Identifier("mymod", "foo/bar")</pre> will request loading of the file + * For example, <pre>Identifier.of("mymod", "foo/bar")</pre> will request loading of the file * <pre>/assets/mymod/models/foo/bar.json</pre> */ void provideExtraModels(ResourceManager manager, Consumer<Identifier> out); diff --git a/fabric-api-base/src/main/java/net/fabricmc/fabric/api/event/Event.java b/fabric-api-base/src/main/java/net/fabricmc/fabric/api/event/Event.java index 76a844e0a..db36fe4aa 100644 --- a/fabric-api-base/src/main/java/net/fabricmc/fabric/api/event/Event.java +++ b/fabric-api-base/src/main/java/net/fabricmc/fabric/api/event/Event.java @@ -60,7 +60,7 @@ public abstract class Event<T> { * The identifier of the default phase. * Have a look at {@link EventFactory#createWithPhases} for an explanation of event phases. */ - public static final Identifier DEFAULT_PHASE = new Identifier("fabric", "default"); + public static final Identifier DEFAULT_PHASE = Identifier.of("fabric", "default"); /** * Register a listener to the event for the specified phase. diff --git a/fabric-api-base/src/testmod/java/net/fabricmc/fabric/test/base/EventTests.java b/fabric-api-base/src/testmod/java/net/fabricmc/fabric/test/base/EventTests.java index e808cf201..5c2df49a4 100644 --- a/fabric-api-base/src/testmod/java/net/fabricmc/fabric/test/base/EventTests.java +++ b/fabric-api-base/src/testmod/java/net/fabricmc/fabric/test/base/EventTests.java @@ -82,8 +82,8 @@ public class EventTests { } private static void testMultipleDefaultPhases() { - Identifier first = new Identifier("fabric", "first"); - Identifier second = new Identifier("fabric", "second"); + Identifier first = Identifier.of("fabric", "first"); + Identifier second = Identifier.of("fabric", "second"); Event<Test> event = EventFactory.createWithPhases(Test.class, INVOKER_FACTORY, first, second, Event.DEFAULT_PHASE); event.register(second, ensureOrder(1)); @@ -100,10 +100,10 @@ public class EventTests { private static void testAddedPhases() { Event<Test> event = createEvent(); - Identifier veryEarly = new Identifier("fabric", "very_early"); - Identifier early = new Identifier("fabric", "early"); - Identifier late = new Identifier("fabric", "late"); - Identifier veryLate = new Identifier("fabric", "very_late"); + Identifier veryEarly = Identifier.of("fabric", "very_early"); + Identifier early = Identifier.of("fabric", "early"); + Identifier late = Identifier.of("fabric", "late"); + Identifier veryLate = Identifier.of("fabric", "very_late"); event.addPhaseOrdering(veryEarly, early); event.addPhaseOrdering(early, Event.DEFAULT_PHASE); @@ -131,10 +131,10 @@ public class EventTests { private static void testCycle() { Event<Test> event = createEvent(); - Identifier a = new Identifier("fabric", "a"); - Identifier b1 = new Identifier("fabric", "b1"); - Identifier b2 = new Identifier("fabric", "b2"); - Identifier b3 = new Identifier("fabric", "b3"); + Identifier a = Identifier.of("fabric", "a"); + Identifier b1 = Identifier.of("fabric", "b1"); + Identifier b2 = Identifier.of("fabric", "b2"); + Identifier b3 = Identifier.of("fabric", "b3"); Identifier c = Event.DEFAULT_PHASE; // A always first and C always last. @@ -184,13 +184,13 @@ public class EventTests { * We get for the final order: [a, d, e, cycle [b, y, z], f]. */ private static void testDeterministicOrdering() { - Identifier a = new Identifier("fabric", "a"); - Identifier b = new Identifier("fabric", "b"); - Identifier d = new Identifier("fabric", "d"); - Identifier e = new Identifier("fabric", "e"); - Identifier f = new Identifier("fabric", "f"); - Identifier y = new Identifier("fabric", "y"); - Identifier z = new Identifier("fabric", "z"); + Identifier a = Identifier.of("fabric", "a"); + Identifier b = Identifier.of("fabric", "b"); + Identifier d = Identifier.of("fabric", "d"); + Identifier e = Identifier.of("fabric", "e"); + Identifier f = Identifier.of("fabric", "f"); + Identifier y = Identifier.of("fabric", "y"); + Identifier z = Identifier.of("fabric", "z"); List<Consumer<Event<Test>>> dependencies = List.of( ev -> ev.addPhaseOrdering(a, z), @@ -229,11 +229,11 @@ public class EventTests { * </pre> */ private static void testTwoCycles() { - Identifier a = new Identifier("fabric", "a"); - Identifier b = new Identifier("fabric", "b"); - Identifier c = new Identifier("fabric", "c"); - Identifier d = new Identifier("fabric", "d"); - Identifier e = new Identifier("fabric", "e"); + Identifier a = Identifier.of("fabric", "a"); + Identifier b = Identifier.of("fabric", "b"); + Identifier c = Identifier.of("fabric", "c"); + Identifier d = Identifier.of("fabric", "d"); + Identifier e = Identifier.of("fabric", "e"); List<Consumer<Event<Test>>> dependencies = List.of( ev -> ev.addPhaseOrdering(e, a), diff --git a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/FabricApiLookupTest.java b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/FabricApiLookupTest.java index ae9572b6e..f670dda16 100644 --- a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/FabricApiLookupTest.java +++ b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/FabricApiLookupTest.java @@ -56,12 +56,12 @@ public class FabricApiLookupTest implements ModInitializer { @Override public void onInitialize() { - Identifier chute = new Identifier(MOD_ID, "chute"); + Identifier chute = Identifier.of(MOD_ID, "chute"); Registry.register(Registries.BLOCK, chute, CHUTE_BLOCK); Registry.register(Registries.ITEM, chute, CHUTE_ITEM); CHUTE_BLOCK_ENTITY_TYPE = Registry.register(Registries.BLOCK_ENTITY_TYPE, chute, FabricBlockEntityTypeBuilder.create(ChuteBlockEntity::new, CHUTE_BLOCK).build()); - Identifier cobbleGen = new Identifier(MOD_ID, "cobble_gen"); + Identifier cobbleGen = Identifier.of(MOD_ID, "cobble_gen"); Registry.register(Registries.BLOCK, cobbleGen, COBBLE_GEN_BLOCK); Registry.register(Registries.ITEM, cobbleGen, COBBLE_GEN_ITEM); COBBLE_GEN_BLOCK_ENTITY_TYPE = Registry.register(Registries.BLOCK_ENTITY_TYPE, cobbleGen, FabricBlockEntityTypeBuilder.create(CobbleGenBlockEntity::new, COBBLE_GEN_BLOCK).build()); @@ -76,7 +76,7 @@ public class FabricApiLookupTest implements ModInitializer { testLookupRegistry(); testSelfRegistration(); - Identifier inspector = new Identifier(FabricApiLookupTest.MOD_ID, "inspector"); + Identifier inspector = Identifier.of(FabricApiLookupTest.MOD_ID, "inspector"); Registry.register(Registries.BLOCK, inspector, INSPECTOR_BLOCK); Registry.register(Registries.ITEM, inspector, INSPECTOR_ITEM); @@ -85,18 +85,18 @@ public class FabricApiLookupTest implements ModInitializer { } private static void testLookupRegistry() { - BlockApiLookup<ItemInsertable, @NotNull Direction> insertable2 = BlockApiLookup.get(new Identifier("testmod:item_insertable"), ItemInsertable.class, Direction.class); + BlockApiLookup<ItemInsertable, @NotNull Direction> insertable2 = BlockApiLookup.get(Identifier.of("testmod", "item_insertable"), ItemInsertable.class, Direction.class); if (insertable2 != ItemApis.INSERTABLE) { throw new AssertionError("The registry should have returned the same instance."); } ensureException(() -> { - BlockApiLookup<Void, Void> wrongInsertable = BlockApiLookup.get(new Identifier("testmod:item_insertable"), Void.class, Void.class); + BlockApiLookup<Void, Void> wrongInsertable = BlockApiLookup.get(Identifier.of("testmod", "item_insertable"), Void.class, Void.class); wrongInsertable.registerFallback((world, pos, state, be, nocontext) -> null); }, "The registry should have prevented creation of another instance with different classes, but same id."); - if (!insertable2.getId().equals(new Identifier("testmod:item_insertable"))) { + if (!insertable2.getId().equals(Identifier.of("testmod", "item_insertable"))) { throw new AssertionError("Incorrect identifier was returned."); } diff --git a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/api/ItemApis.java b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/api/ItemApis.java index cb1ab002d..d3d7340b7 100644 --- a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/api/ItemApis.java +++ b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/api/ItemApis.java @@ -25,9 +25,9 @@ import net.fabricmc.fabric.api.lookup.v1.block.BlockApiLookup; public final class ItemApis { public static final BlockApiLookup<ItemInsertable, @NotNull Direction> INSERTABLE = - BlockApiLookup.get(new Identifier("testmod:item_insertable"), ItemInsertable.class, Direction.class); + BlockApiLookup.get(Identifier.of("testmod", "item_insertable"), ItemInsertable.class, Direction.class); public static final BlockApiLookup<ItemExtractable, @NotNull Direction> EXTRACTABLE = - BlockApiLookup.get(new Identifier("testmod:item_extractable"), ItemExtractable.class, Direction.class); + BlockApiLookup.get(Identifier.of("testmod", "item_extractable"), ItemExtractable.class, Direction.class); private ItemApis() { } diff --git a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/entity/FabricEntityApiLookupTest.java b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/entity/FabricEntityApiLookupTest.java index 861196208..09bb9ace6 100644 --- a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/entity/FabricEntityApiLookupTest.java +++ b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/entity/FabricEntityApiLookupTest.java @@ -34,7 +34,7 @@ import net.fabricmc.fabric.test.lookup.api.Inspectable; public class FabricEntityApiLookupTest { public static final EntityApiLookup<Inspectable, Void> INSPECTABLE = - EntityApiLookup.get(new Identifier(FabricApiLookupTest.MOD_ID, "inspectable"), Inspectable.class, Void.class); + EntityApiLookup.get(Identifier.of(FabricApiLookupTest.MOD_ID, "inspectable"), Inspectable.class, Void.class); public static final EntityType<InspectablePigEntity> INSPECTABLE_PIG = FabricEntityTypeBuilder.create() .spawnGroup(SpawnGroup.CREATURE) @@ -44,7 +44,7 @@ public class FabricEntityApiLookupTest { .build(); public static void onInitialize() { - Registry.register(Registries.ENTITY_TYPE, new Identifier(FabricApiLookupTest.MOD_ID, "inspectable_pig"), INSPECTABLE_PIG); + Registry.register(Registries.ENTITY_TYPE, Identifier.of(FabricApiLookupTest.MOD_ID, "inspectable_pig"), INSPECTABLE_PIG); FabricDefaultAttributeRegistry.register(INSPECTABLE_PIG, PigEntity.createPigAttributes()); INSPECTABLE.registerSelf(INSPECTABLE_PIG); diff --git a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/item/FabricItemApiLookupTest.java b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/item/FabricItemApiLookupTest.java index fd5ab68e0..627630a9a 100644 --- a/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/item/FabricItemApiLookupTest.java +++ b/fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/item/FabricItemApiLookupTest.java @@ -33,12 +33,12 @@ import net.fabricmc.fabric.test.lookup.api.Inspectable; public class FabricItemApiLookupTest { public static final ItemApiLookup<Inspectable, Void> INSPECTABLE = - ItemApiLookup.get(new Identifier("testmod:inspectable"), Inspectable.class, Void.class); + ItemApiLookup.get(Identifier.of("testmod", "inspectable"), Inspectable.class, Void.class); public static final InspectableItem HELLO_ITEM = new InspectableItem("Hello Fabric API tester!"); public static void onInitialize() { - Registry.register(Registries.ITEM, new Identifier(FabricApiLookupTest.MOD_ID, "hello"), HELLO_ITEM); + Registry.register(Registries.ITEM, Identifier.of(FabricApiLookupTest.MOD_ID, "hello"), HELLO_ITEM); // Diamonds and diamond blocks can be inspected and will also print their name. INSPECTABLE.registerForItems((stack, ignored) -> () -> { diff --git a/fabric-api-lookup-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/lookup/client/entity/InspectablePigEntityRenderer.java b/fabric-api-lookup-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/lookup/client/entity/InspectablePigEntityRenderer.java index 6baf19b8a..e8e092f49 100644 --- a/fabric-api-lookup-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/lookup/client/entity/InspectablePigEntityRenderer.java +++ b/fabric-api-lookup-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/lookup/client/entity/InspectablePigEntityRenderer.java @@ -22,7 +22,7 @@ import net.minecraft.entity.passive.PigEntity; import net.minecraft.util.Identifier; public class InspectablePigEntityRenderer extends PigEntityRenderer { - private static final Identifier TEXTURE = new Identifier("missingno"); + private static final Identifier TEXTURE = Identifier.ofDefaultNamespace("missingno"); public InspectablePigEntityRenderer(EntityRendererFactory.Context context) { super(context); diff --git a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/DataGeneratorEntrypoint.java b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/DataGeneratorEntrypoint.java index 11a15c493..f2fd8458b 100644 --- a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/DataGeneratorEntrypoint.java +++ b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/DataGeneratorEntrypoint.java @@ -43,19 +43,19 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; public class DataGeneratorEntrypoint implements net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint { public static final RegistryKey<ConfiguredFeature<?, ?>> COMMON_DESERT_WELL = RegistryKey.of( RegistryKeys.CONFIGURED_FEATURE, - new Identifier(FabricBiomeTest.MOD_ID, "fab_desert_well") + Identifier.of(FabricBiomeTest.MOD_ID, "fab_desert_well") ); public static final RegistryKey<PlacedFeature> PLACED_COMMON_DESERT_WELL = RegistryKey.of( RegistryKeys.PLACED_FEATURE, - new Identifier(FabricBiomeTest.MOD_ID, "fab_desert_well") + Identifier.of(FabricBiomeTest.MOD_ID, "fab_desert_well") ); public static final RegistryKey<ConfiguredFeature<?, ?>> COMMON_ORE = RegistryKey.of( RegistryKeys.CONFIGURED_FEATURE, - new Identifier(FabricBiomeTest.MOD_ID, "common_ore") + Identifier.of(FabricBiomeTest.MOD_ID, "common_ore") ); public static final RegistryKey<PlacedFeature> PLACED_COMMON_ORE = RegistryKey.of( RegistryKeys.PLACED_FEATURE, - new Identifier(FabricBiomeTest.MOD_ID, "common_ore") + Identifier.of(FabricBiomeTest.MOD_ID, "common_ore") ); @Override diff --git a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java index 3357144df..1cf32ded4 100644 --- a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java +++ b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/FabricBiomeTest.java @@ -66,7 +66,7 @@ public class FabricBiomeTest implements ModInitializer { TheEndBiomes.addMidlandsBiome(TestBiomes.TEST_END_HIGHLANDS, TestBiomes.TEST_END_MIDLANDS, 10.0); TheEndBiomes.addBarrensBiome(TestBiomes.TEST_END_HIGHLANDS, TestBiomes.TEST_END_BARRRENS, 10.0); - BiomeModifications.create(new Identifier("fabric:test_mod")) + BiomeModifications.create(Identifier.of("fabric", "test_mod")) .add(ModificationPhase.ADDITIONS, BiomeSelectors.foundInOverworld(), modification -> modification.getWeather().setDownfall(100)) @@ -78,7 +78,7 @@ public class FabricBiomeTest implements ModInitializer { ); }) .add(ModificationPhase.ADDITIONS, - BiomeSelectors.tag(TagKey.of(RegistryKeys.BIOME, new Identifier(MOD_ID, "tag_selector_test"))), + BiomeSelectors.tag(TagKey.of(RegistryKeys.BIOME, Identifier.of(MOD_ID, "tag_selector_test"))), context -> context.getEffects().setSkyColor(0x770000)) .add(ModificationPhase.ADDITIONS, BiomeSelectors.foundInOverworld(), context -> context.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PLACED_COMMON_ORE) @@ -89,7 +89,7 @@ public class FabricBiomeTest implements ModInitializer { BiomeModifications.addFeature( BiomeSelectors.foundInOverworld(), GenerationStep.Feature.VEGETAL_DECORATION, - RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(MOD_ID, "concrete_pile")) + RegistryKey.of(RegistryKeys.PLACED_FEATURE, Identifier.of(MOD_ID, "concrete_pile")) ); // Make sure data packs can define biomes diff --git a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomeTagProvider.java b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomeTagProvider.java index 11b9eea30..400b30ab8 100644 --- a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomeTagProvider.java +++ b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomeTagProvider.java @@ -34,7 +34,7 @@ public class TestBiomeTagProvider extends FabricTagProvider<Biome> { @Override protected void configure(RegistryWrapper.WrapperLookup registries) { - getOrCreateTagBuilder(TagKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "biome_tag_test"))) + getOrCreateTagBuilder(TagKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "biome_tag_test"))) .add(TestBiomes.CUSTOM_PLAINS) .add(TestBiomes.TEST_END_HIGHLANDS); } diff --git a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomes.java b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomes.java index 9701f9846..2c8a1b73f 100644 --- a/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomes.java +++ b/fabric-biome-api-v1/src/testmod/java/net/fabricmc/fabric/test/biome/TestBiomes.java @@ -35,12 +35,12 @@ import net.minecraft.world.gen.feature.EndPlacedFeatures; import net.minecraft.world.gen.feature.PlacedFeature; public final class TestBiomes { - public static final RegistryKey<Biome> EXAMPLE_BIOME = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "example_biome")); - public static final RegistryKey<Biome> TEST_CRIMSON_FOREST = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "test_crimson_forest")); - public static final RegistryKey<Biome> CUSTOM_PLAINS = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "custom_plains")); - public static final RegistryKey<Biome> TEST_END_HIGHLANDS = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "test_end_highlands")); - public static final RegistryKey<Biome> TEST_END_MIDLANDS = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "test_end_midlands")); - public static final RegistryKey<Biome> TEST_END_BARRRENS = RegistryKey.of(RegistryKeys.BIOME, new Identifier(FabricBiomeTest.MOD_ID, "test_end_barrens")); + public static final RegistryKey<Biome> EXAMPLE_BIOME = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "example_biome")); + public static final RegistryKey<Biome> TEST_CRIMSON_FOREST = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "test_crimson_forest")); + public static final RegistryKey<Biome> CUSTOM_PLAINS = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "custom_plains")); + public static final RegistryKey<Biome> TEST_END_HIGHLANDS = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "test_end_highlands")); + public static final RegistryKey<Biome> TEST_END_MIDLANDS = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "test_end_midlands")); + public static final RegistryKey<Biome> TEST_END_BARRRENS = RegistryKey.of(RegistryKeys.BIOME, Identifier.of(FabricBiomeTest.MOD_ID, "test_end_barrens")); private TestBiomes() { } diff --git a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/ChunkRendererRegionBuilderMixin.java b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/ChunkRendererRegionBuilderMixin.java index 039dfec9a..a0949f513 100644 --- a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/ChunkRendererRegionBuilderMixin.java +++ b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/ChunkRendererRegionBuilderMixin.java @@ -20,6 +20,9 @@ import java.util.ConcurrentModificationException; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; +import com.llamalad7.mixinextras.sugar.Local; +import com.llamalad7.mixinextras.sugar.Share; +import com.llamalad7.mixinextras.sugar.ref.LocalRef; import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,12 +31,12 @@ import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import net.minecraft.block.entity.BlockEntity; import net.minecraft.client.render.chunk.ChunkRendererRegion; import net.minecraft.client.render.chunk.ChunkRendererRegionBuilder; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.ChunkSectionPos; import net.minecraft.world.World; import net.minecraft.world.chunk.WorldChunk; @@ -44,43 +47,36 @@ public abstract class ChunkRendererRegionBuilderMixin { private static final AtomicInteger ERROR_COUNTER = new AtomicInteger(); private static final Logger LOGGER = LoggerFactory.getLogger(ChunkRendererRegionBuilderMixin.class); - @Inject(method = "build", at = @At("RETURN"), locals = LocalCapture.CAPTURE_FAILHARD) - private void createDataMap(World world, BlockPos startPos, BlockPos endPos, int offset, CallbackInfoReturnable<ChunkRendererRegion> cir, int startX, int startZ, int endX, int endZ, ChunkRendererRegionBuilder.ClientChunk[][] chunksXZ) { - ChunkRendererRegion rendererRegion = cir.getReturnValue(); + @Inject(method = "build", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/chunk/ChunkRendererRegionBuilder$ClientChunk;getRenderedChunk()Lnet/minecraft/client/render/chunk/RenderedChunk;")) + private void copyDataForChunk(World world, ChunkSectionPos chunkSectionPos, CallbackInfoReturnable<ChunkRendererRegion> cir, @Local(ordinal = 1) ChunkRendererRegionBuilder.ClientChunk clientChunk, @Share("dataMap") LocalRef<Long2ObjectOpenHashMap<Object>> mapRef) { + // Hash maps in chunks should generally not be modified outside of client thread + // but does happen in practice, due to mods or inconsistent vanilla behaviors, causing + // CMEs when we iterate the map. (Vanilla does not iterate these maps when it builds + // the chunk cache and does not suffer from this problem.) + // + // We handle this simply by retrying until it works. Ugly but effective. + while (true) { + try { + mapRef.set(mapChunk(clientChunk.getChunk(), chunkSectionPos, mapRef.get())); + break; + } catch (ConcurrentModificationException e) { + final int count = ERROR_COUNTER.incrementAndGet(); - if (rendererRegion == null) { - return; - } + if (count <= 5) { + LOGGER.warn("[Block Entity Render Data] Encountered CME during render region build. A mod is accessing or changing chunk data outside the main thread. Retrying.", e); - // instantiated lazily - avoids allocation for chunks without any data objects - which is most of them! - Long2ObjectOpenHashMap<Object> map = null; - - for (ChunkRendererRegionBuilder.ClientChunk[] chunksZ : chunksXZ) { - for (ChunkRendererRegionBuilder.ClientChunk chunk : chunksZ) { - // Hash maps in chunks should generally not be modified outside of client thread - // but does happen in practice, due to mods or inconsistent vanilla behaviors, causing - // CMEs when we iterate the map. (Vanilla does not iterate these maps when it builds - // the chunk cache and does not suffer from this problem.) - // - // We handle this simply by retrying until it works. Ugly but effective. - while (true) { - try { - map = mapChunk(chunk.getChunk(), startPos, endPos, map); - break; - } catch (ConcurrentModificationException e) { - final int count = ERROR_COUNTER.incrementAndGet(); - - if (count <= 5) { - LOGGER.warn("[Block Entity Render Data] Encountered CME during render region build. A mod is accessing or changing chunk data outside the main thread. Retrying.", e); - - if (count == 5) { - LOGGER.info("[Block Entity Render Data] Subsequent exceptions will be suppressed."); - } - } + if (count == 5) { + LOGGER.info("[Block Entity Render Data] Subsequent exceptions will be suppressed."); } } } } + } + + @Inject(method = "build", at = @At(value = "RETURN", ordinal = 1)) + private void createDataMap(World world, ChunkSectionPos chunkSectionPos, CallbackInfoReturnable<ChunkRendererRegion> cir, @Share("dataMap") LocalRef<Long2ObjectOpenHashMap<Object>> mapRef) { + ChunkRendererRegion rendererRegion = cir.getReturnValue(); + Long2ObjectOpenHashMap<Object> map = mapRef.get(); if (map != null) { ((RenderDataMapConsumer) rendererRegion).fabric_acceptRenderDataMap(map); @@ -88,13 +84,18 @@ public abstract class ChunkRendererRegionBuilderMixin { } @Unique - private static Long2ObjectOpenHashMap<Object> mapChunk(WorldChunk chunk, BlockPos posFrom, BlockPos posTo, Long2ObjectOpenHashMap<Object> map) { - final int xMin = posFrom.getX(); - final int xMax = posTo.getX(); - final int yMin = posFrom.getY(); - final int yMax = posTo.getY(); - final int zMin = posFrom.getZ(); - final int zMax = posTo.getZ(); + private static Long2ObjectOpenHashMap<Object> mapChunk(WorldChunk chunk, ChunkSectionPos chunkSectionPos, Long2ObjectOpenHashMap<Object> map) { + // Skip the math below if the chunk contains no block entities + if (chunk.getBlockEntities().isEmpty()) { + return map; + } + + final int xMin = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionX() - 1); + final int yMin = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionY() - 1); + final int zMin = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionZ() - 1); + final int xMax = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionX() + 1); + final int yMax = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionY() + 1); + final int zMax = ChunkSectionPos.getBlockCoord(chunkSectionPos.getSectionZ() + 1); for (Map.Entry<BlockPos, BlockEntity> entry : chunk.getBlockEntities().entrySet()) { final BlockPos pos = entry.getKey(); diff --git a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java index 5e77f9398..dcd2c761b 100644 --- a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java +++ b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java @@ -35,10 +35,10 @@ import org.slf4j.LoggerFactory; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagEntry; import net.minecraft.registry.tag.TagFile; import net.minecraft.registry.tag.TagKey; -import net.minecraft.registry.tag.TagManagerLoader; import net.minecraft.util.Identifier; import net.fabricmc.loader.api.FabricLoader; @@ -111,7 +111,7 @@ public class ClientTagsLoader { * @return the paths to all tag json files within the available mods */ private static HashSet<Path> getTagFiles(RegistryKey<? extends Registry<?>> registryKey, Identifier identifier) { - return getTagFiles(TagManagerLoader.getPath(registryKey), identifier); + return getTagFiles(RegistryKeys.getTagPath(registryKey), identifier); } /** diff --git a/fabric-client-tags-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/tag/client/v1/ClientTagTest.java b/fabric-client-tags-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/tag/client/v1/ClientTagTest.java index 1e29b730f..5e0d04cbc 100644 --- a/fabric-client-tags-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/tag/client/v1/ClientTagTest.java +++ b/fabric-client-tags-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/tag/client/v1/ClientTagTest.java @@ -45,7 +45,7 @@ public class ClientTagTest implements ClientModInitializer { public void onInitializeClient() { final ModContainer container = FabricLoader.getInstance().getModContainer(MODID).get(); - if (!ResourceManagerHelper.registerBuiltinResourcePack(new Identifier(MODID, "test2"), + if (!ResourceManagerHelper.registerBuiltinResourcePack(Identifier.of(MODID, "test2"), container, ResourcePackActivationType.ALWAYS_ENABLED)) { throw new IllegalStateException("Could not register built-in resource pack."); } @@ -68,7 +68,7 @@ public class ClientTagTest implements ClientModInitializer { } if (ClientTags.isInWithLocalFallback(TagKey.of(Registries.BLOCK.getKey(), - new Identifier("fabric", "sword_efficient")), Blocks.DIRT)) { + Identifier.of("fabric", "sword_efficient")), Blocks.DIRT)) { throw new AssertionError("Expected not to find dirt in fabric:sword_efficient, but it was found!"); } @@ -83,7 +83,7 @@ public class ClientTagTest implements ClientModInitializer { // but the this test should pass as minecraft:sword_efficient will contain dirt on the server ClientTickEvents.END_WORLD_TICK.register(client -> { if (!ClientTags.isInWithLocalFallback(TagKey.of(Registries.BLOCK.getKey(), - new Identifier("fabric", "sword_efficient")), Blocks.DIRT)) { + Identifier.of("fabric", "sword_efficient")), Blocks.DIRT)) { throw new AssertionError("Expected to find dirt in fabric:sword_efficient, but it was not found!"); } }); diff --git a/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/api/command/v2/EntitySelectorOptionRegistry.java b/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/api/command/v2/EntitySelectorOptionRegistry.java index 01caa7e47..376da379b 100644 --- a/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/api/command/v2/EntitySelectorOptionRegistry.java +++ b/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/api/command/v2/EntitySelectorOptionRegistry.java @@ -40,7 +40,7 @@ public final class EntitySelectorOptionRegistry { * {@code example_min_health} and can be used like {@code @e[example_min_health=5]}. * <pre>{@code * EntitySelectorOptionRegistry.register( - * new Identifier("example", "min_health"), + * Identifier.of("example", "min_health"), * Text.literal("Minimum entity health"), * (reader) -> { * final float minHealth = reader.getReader().readFloat(); diff --git a/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CommandTest.java b/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CommandTest.java index 3e1b6c1b8..e85253c37 100644 --- a/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CommandTest.java +++ b/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CommandTest.java @@ -38,7 +38,7 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; public final class CommandTest implements ModInitializer { private static final Logger LOGGER = LoggerFactory.getLogger(CommandTest.class); - static final Identifier SELECTOR_ID = new Identifier("fabric-command-api-v2-testmod", "min_health"); + static final Identifier SELECTOR_ID = Identifier.of("fabric-command-api-v2-testmod", "min_health"); private static final SimpleCommandExceptionType WRONG_SIDE_SHOULD_BE_INTEGRATED = new SimpleCommandExceptionType(Text.literal("This command was registered incorrectly. Should only be present on an integrated server but was ran on a dedicated server!")); private static final SimpleCommandExceptionType WRONG_SIDE_SHOULD_BE_DEDICATED = new SimpleCommandExceptionType(Text.literal("This command was registered incorrectly. Should only be present on an dedicated server but was ran on an integrated server!")); diff --git a/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CustomArgumentTest.java b/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CustomArgumentTest.java index e87cb4527..f5d63636a 100644 --- a/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CustomArgumentTest.java +++ b/fabric-command-api-v2/src/testmod/java/net/fabricmc/fabric/test/command/CustomArgumentTest.java @@ -37,7 +37,7 @@ public class CustomArgumentTest implements ModInitializer { @Override public void onInitialize() { - ArgumentTypeRegistry.registerArgumentType(new Identifier("fabric-command-test", "smiley"), SmileyArgumentType.class, ConstantArgumentSerializer.of(SmileyArgumentType::smiley)); + ArgumentTypeRegistry.registerArgumentType(Identifier.of("fabric-command-test", "smiley"), SmileyArgumentType.class, ConstantArgumentSerializer.of(SmileyArgumentType::smiley)); CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> { dispatcher.register( diff --git a/fabric-content-registries-v0/src/testmod/java/net/fabricmc/fabric/test/content/registry/ContentRegistryTest.java b/fabric-content-registries-v0/src/testmod/java/net/fabricmc/fabric/test/content/registry/ContentRegistryTest.java index f03db1954..fdaa28147 100644 --- a/fabric-content-registries-v0/src/testmod/java/net/fabricmc/fabric/test/content/registry/ContentRegistryTest.java +++ b/fabric-content-registries-v0/src/testmod/java/net/fabricmc/fabric/test/content/registry/ContentRegistryTest.java @@ -65,7 +65,7 @@ import net.fabricmc.fabric.api.registry.VillagerInteractionRegistries; public final class ContentRegistryTest implements ModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger(ContentRegistryTest.class); - public static final Identifier TEST_EVENT_ID = new Identifier("fabric-content-registries-v0-testmod", "test_event"); + public static final Identifier TEST_EVENT_ID = Identifier.of("fabric-content-registries-v0-testmod", "test_event"); public static final RegistryEntry.Reference<GameEvent> TEST_EVENT = Registry.registerReference(Registries.GAME_EVENT, TEST_EVENT_ID, new GameEvent(GameEvent.DEFAULT_RANGE)); @Override @@ -140,7 +140,7 @@ public final class ContentRegistryTest implements ModInitializer { VillagerInteractionRegistries.registerCollectable(Items.OAK_SAPLING); - VillagerInteractionRegistries.registerGiftLootTable(VillagerProfession.NITWIT, RegistryKey.of(RegistryKeys.LOOT_TABLE, new Identifier("fake_loot_table"))); + VillagerInteractionRegistries.registerGiftLootTable(VillagerProfession.NITWIT, RegistryKey.of(RegistryKeys.LOOT_TABLE, Identifier.ofDefaultNamespace("fake_loot_table"))); Registry.register(Registries.BLOCK, TEST_EVENT_ID, new TestEventBlock(AbstractBlock.Settings.copy(Blocks.STONE))); SculkSensorFrequencyRegistry.register(TEST_EVENT.registryKey(), 2); @@ -156,7 +156,7 @@ public final class ContentRegistryTest implements ModInitializer { } var dirtyPotion = new DirtyPotionItem(new Item.Settings().maxCount(1)); - Registry.register(Registries.ITEM, new Identifier("fabric-content-registries-v0-testmod", "dirty_potion"), + Registry.register(Registries.ITEM, Identifier.of("fabric-content-registries-v0-testmod", "dirty_potion"), dirtyPotion); /* Mods should use BrewingRecipeRegistry.registerPotionType(Item), which is access widened by fabric-transitive-access-wideners-v1 * This testmod uses an accessor due to Loom limitations that prevent TAWs from applying across Gradle subproject boundaries */ diff --git a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java index 8b4a68436..3345fb138 100644 --- a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java +++ b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java @@ -283,7 +283,7 @@ public final class BiomeTagGenerator extends FabricTagProvider<Biome> { .addOptionalTag(ConventionalBiomeTags.IS_FLOWER_FOREST); getOrCreateTagBuilder(ConventionalBiomeTags.IS_FLOWER_FOREST) .add(BiomeKeys.FLOWER_FOREST) - .addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "flower_forests")); + .addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "flower_forests")); getOrCreateTagBuilder(ConventionalBiomeTags.IS_OLD_GROWTH) .add(BiomeKeys.OLD_GROWTH_BIRCH_FOREST) .add(BiomeKeys.OLD_GROWTH_PINE_TAIGA) @@ -322,25 +322,25 @@ public final class BiomeTagGenerator extends FabricTagProvider<Biome> { // Backwards compat with pre-1.21 tags. Done after so optional tag is last for better readability. // TODO: Remove backwards compat tag entries in 1.22 - getOrCreateTagBuilder(ConventionalBiomeTags.IS_NETHER).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "in_nether")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_END).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "in_the_end")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "in_the_overworld")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_CAVE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "caves")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_COLD_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "climate_cold")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_TEMPERATE_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "climate_temperate")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_HOT_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "climate_hot")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_WET_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "climate_wet")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_DRY_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "climate_dry")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_VEGETATION_DENSE_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "vegetation_dense")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_VEGETATION_SPARSE_OVERWORLD).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "vegetation_sparse")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_CONIFEROUS_TREE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "tree_coniferous")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_DECIDUOUS_TREE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "tree_deciduous")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_JUNGLE_TREE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "tree_jungle")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_SAVANNA_TREE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "tree_savanna")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_MOUNTAIN_PEAK).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "mountain_peak")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_MOUNTAIN_SLOPE).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "mountain_slope")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_OUTER_END_ISLAND).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "end_islands")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_NETHER_FOREST).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "nether_forests")); - getOrCreateTagBuilder(ConventionalBiomeTags.IS_FLOWER_FOREST).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "flower_forests")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_NETHER).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "in_nether")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_END).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "in_the_end")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "in_the_overworld")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_CAVE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "caves")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_COLD_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "climate_cold")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_TEMPERATE_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "climate_temperate")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_HOT_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "climate_hot")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_WET_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "climate_wet")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_DRY_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "climate_dry")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_VEGETATION_DENSE_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "vegetation_dense")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_VEGETATION_SPARSE_OVERWORLD).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "vegetation_sparse")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_CONIFEROUS_TREE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "tree_coniferous")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_DECIDUOUS_TREE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "tree_deciduous")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_JUNGLE_TREE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "tree_jungle")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_SAVANNA_TREE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "tree_savanna")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_MOUNTAIN_PEAK).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "mountain_peak")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_MOUNTAIN_SLOPE).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "mountain_slope")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_OUTER_END_ISLAND).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "end_islands")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_NETHER_FOREST).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "nether_forests")); + getOrCreateTagBuilder(ConventionalBiomeTags.IS_FLOWER_FOREST).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "flower_forests")); } } diff --git a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java index a37a3ab3e..c5e358853 100644 --- a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java +++ b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java @@ -449,18 +449,18 @@ public final class BlockTagGenerator extends FabricTagProvider.BlockTagProvider // Backwards compat with pre-1.21 tags. Done after so optional tag is last for better readability. // TODO: Remove backwards compat tag entries in 1.22 - getOrCreateTagBuilder(ConventionalBlockTags.RELOCATION_NOT_SUPPORTED).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "movement_restricted")); - getOrCreateTagBuilder(ConventionalBlockTags.QUARTZ_ORES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "quartz_ores")); - getOrCreateTagBuilder(ConventionalBlockTags.WOODEN_BARRELS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "wooden_barrels")); - getOrCreateTagBuilder(ConventionalBlockTags.WOODEN_CHESTS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "wooden_chests")); - getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_BLOCKS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "sandstone_blocks")); - getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_SLABS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "sandstone_slabs")); - getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_STAIRS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "sandstone_stairs")); - getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_BLOCKS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "red_sandstone_blocks")); - getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_SLABS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "red_sandstone_slabs")); - getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_STAIRS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "red_sandstone_stairs")); - getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_BLOCKS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_blocks")); - getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_SLABS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_slabs")); - getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_STAIRS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_stairs")); + getOrCreateTagBuilder(ConventionalBlockTags.RELOCATION_NOT_SUPPORTED).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "movement_restricted")); + getOrCreateTagBuilder(ConventionalBlockTags.QUARTZ_ORES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "quartz_ores")); + getOrCreateTagBuilder(ConventionalBlockTags.WOODEN_BARRELS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "wooden_barrels")); + getOrCreateTagBuilder(ConventionalBlockTags.WOODEN_CHESTS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "wooden_chests")); + getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_BLOCKS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "sandstone_blocks")); + getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_SLABS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "sandstone_slabs")); + getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_STAIRS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "sandstone_stairs")); + getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_BLOCKS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "red_sandstone_blocks")); + getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_SLABS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "red_sandstone_slabs")); + getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_STAIRS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "red_sandstone_stairs")); + getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_BLOCKS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_blocks")); + getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_SLABS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_slabs")); + getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_STAIRS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "uncolored_sandstone_stairs")); } } diff --git a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java index 3519cf927..7f30ba4e0 100644 --- a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java +++ b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java @@ -61,8 +61,8 @@ public final class EnchantmentTagGenerator extends FabricTagProvider.Enchantment // Backwards compat with pre-1.21 tags. Done after so optional tag is last for better readability. // TODO: Remove backwards compat tag entries in 1.22 getOrCreateTagBuilder(ConventionalEnchantmentTags.ENTITY_SPEED_ENHANCEMENTS) - .addOptionalTag(new Identifier("c", "entity_movement_enhancement")); + .addOptionalTag(Identifier.of("c", "entity_movement_enhancement")); getOrCreateTagBuilder(ConventionalEnchantmentTags.ENTITY_DEFENSE_ENHANCEMENTS) - .addOptionalTag(new Identifier("c", "entity_defense_enhancement")); + .addOptionalTag(Identifier.of("c", "entity_defense_enhancement")); } } diff --git a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java index a47625ce3..2d6483a70 100644 --- a/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java +++ b/fabric-convention-tags-v2/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java @@ -603,37 +603,37 @@ public final class ItemTagGenerator extends FabricTagProvider.ItemTagProvider { // Backwards compat with pre-1.21 tags. Done after so optional tag is last for better readability. // TODO: Remove backwards compat tag entries in 1.22 - getOrCreateTagBuilder(ConventionalItemTags.WOODEN_BARRELS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "wooden_barrels")); - getOrCreateTagBuilder(ConventionalItemTags.WOODEN_CHESTS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "wooden_chests")); - getOrCreateTagBuilder(ConventionalItemTags.BLACK_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "black_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.BLUE_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "blue_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.BROWN_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "brown_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.GREEN_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "green_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.RED_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "red_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.WHITE_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "white_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.YELLOW_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "yellow_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.LIGHT_BLUE_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "light_blue_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.LIGHT_GRAY_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "light_gray_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.LIME_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "lime_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.MAGENTA_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "magenta_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.ORANGE_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "orange_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.PINK_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "pink_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.CYAN_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "cyan_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.GRAY_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "gray_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.PURPLE_DYES).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "purple_dyes")); - getOrCreateTagBuilder(ConventionalItemTags.IRON_RAW_MATERIALS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "raw_iron_ores")); - getOrCreateTagBuilder(ConventionalItemTags.COPPER_RAW_MATERIALS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "raw_copper_ores")); - getOrCreateTagBuilder(ConventionalItemTags.GOLD_RAW_MATERIALS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "raw_gold_ores")); - getOrCreateTagBuilder(ConventionalItemTags.GLOWSTONE_DUSTS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "glowstone_dusts")); - getOrCreateTagBuilder(ConventionalItemTags.REDSTONE_DUSTS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "redstone_dusts")); - getOrCreateTagBuilder(ConventionalItemTags.DIAMOND_GEMS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "diamonds")); - getOrCreateTagBuilder(ConventionalItemTags.LAPIS_GEMS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "lapis")); - getOrCreateTagBuilder(ConventionalItemTags.EMERALD_GEMS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "emeralds")); - getOrCreateTagBuilder(ConventionalItemTags.QUARTZ_GEMS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "quartz")); - getOrCreateTagBuilder(ConventionalItemTags.SHEARS_TOOLS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "shears")); - getOrCreateTagBuilder(ConventionalItemTags.SPEARS_TOOLS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "spears")); - getOrCreateTagBuilder(ConventionalItemTags.BOWS_TOOLS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "bows")); - getOrCreateTagBuilder(ConventionalItemTags.SHIELDS_TOOLS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "shields")); - getOrCreateTagBuilder(ConventionalItemTags.STRINGS).addOptionalTag(new Identifier(TagUtil.C_TAG_NAMESPACE, "string")); + getOrCreateTagBuilder(ConventionalItemTags.WOODEN_BARRELS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "wooden_barrels")); + getOrCreateTagBuilder(ConventionalItemTags.WOODEN_CHESTS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "wooden_chests")); + getOrCreateTagBuilder(ConventionalItemTags.BLACK_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "black_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.BLUE_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "blue_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.BROWN_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "brown_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.GREEN_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "green_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.RED_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "red_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.WHITE_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "white_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.YELLOW_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "yellow_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.LIGHT_BLUE_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "light_blue_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.LIGHT_GRAY_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "light_gray_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.LIME_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "lime_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.MAGENTA_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "magenta_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.ORANGE_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "orange_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.PINK_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "pink_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.CYAN_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "cyan_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.GRAY_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "gray_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.PURPLE_DYES).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "purple_dyes")); + getOrCreateTagBuilder(ConventionalItemTags.IRON_RAW_MATERIALS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "raw_iron_ores")); + getOrCreateTagBuilder(ConventionalItemTags.COPPER_RAW_MATERIALS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "raw_copper_ores")); + getOrCreateTagBuilder(ConventionalItemTags.GOLD_RAW_MATERIALS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "raw_gold_ores")); + getOrCreateTagBuilder(ConventionalItemTags.GLOWSTONE_DUSTS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "glowstone_dusts")); + getOrCreateTagBuilder(ConventionalItemTags.REDSTONE_DUSTS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "redstone_dusts")); + getOrCreateTagBuilder(ConventionalItemTags.DIAMOND_GEMS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "diamonds")); + getOrCreateTagBuilder(ConventionalItemTags.LAPIS_GEMS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "lapis")); + getOrCreateTagBuilder(ConventionalItemTags.EMERALD_GEMS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "emeralds")); + getOrCreateTagBuilder(ConventionalItemTags.QUARTZ_GEMS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "quartz")); + getOrCreateTagBuilder(ConventionalItemTags.SHEARS_TOOLS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "shears")); + getOrCreateTagBuilder(ConventionalItemTags.SPEARS_TOOLS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "spears")); + getOrCreateTagBuilder(ConventionalItemTags.BOWS_TOOLS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "bows")); + getOrCreateTagBuilder(ConventionalItemTags.SHIELDS_TOOLS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "shields")); + getOrCreateTagBuilder(ConventionalItemTags.STRINGS).addOptionalTag(Identifier.of(TagUtil.C_TAG_NAMESPACE, "string")); } } diff --git a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/impl/tag/convention/v2/TagRegistration.java b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/impl/tag/convention/v2/TagRegistration.java index 7cd1ad789..b7615aa35 100644 --- a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/impl/tag/convention/v2/TagRegistration.java +++ b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/impl/tag/convention/v2/TagRegistration.java @@ -41,10 +41,10 @@ public record TagRegistration<T>(RegistryKey<Registry<T>> registryKey) { public static final TagRegistration<Enchantment> ENCHANTMENT_TAG = new TagRegistration<>(RegistryKeys.ENCHANTMENT); public TagKey<T> registerFabric(String tagId) { - return TagKey.of(registryKey, new Identifier(TagUtil.FABRIC_TAG_NAMESPACE, tagId)); + return TagKey.of(registryKey, Identifier.of(TagUtil.FABRIC_TAG_NAMESPACE, tagId)); } public TagKey<T> registerC(String tagId) { - return TagKey.of(registryKey, new Identifier(TagUtil.C_TAG_NAMESPACE, tagId)); + return TagKey.of(registryKey, Identifier.of(TagUtil.C_TAG_NAMESPACE, tagId)); } } diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/impl/attachment/AttachmentSerializingImpl.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/impl/attachment/AttachmentSerializingImpl.java index 25de7b490..87b79afd2 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/impl/attachment/AttachmentSerializingImpl.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/impl/attachment/AttachmentSerializingImpl.java @@ -70,7 +70,7 @@ public class AttachmentSerializingImpl { NbtCompound compound = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY); for (String key : compound.getKeys()) { - AttachmentType<?> type = AttachmentRegistryImpl.get(new Identifier(key)); + AttachmentType<?> type = AttachmentRegistryImpl.get(Identifier.of(key)); if (type == null) { LOGGER.warn("Unknown attachment type " + key + " found when deserializing, skipping"); diff --git a/fabric-data-attachment-api-v1/src/test/java/net/fabricmc/fabric/test/attachment/CommonAttachmentTests.java b/fabric-data-attachment-api-v1/src/test/java/net/fabricmc/fabric/test/attachment/CommonAttachmentTests.java index 968cc4411..989e62b74 100644 --- a/fabric-data-attachment-api-v1/src/test/java/net/fabricmc/fabric/test/attachment/CommonAttachmentTests.java +++ b/fabric-data-attachment-api-v1/src/test/java/net/fabricmc/fabric/test/attachment/CommonAttachmentTests.java @@ -65,7 +65,7 @@ import net.fabricmc.fabric.impl.attachment.AttachmentTargetImpl; public class CommonAttachmentTests { private static final String MOD_ID = "example"; private static final AttachmentType<Integer> PERSISTENT = AttachmentRegistry.createPersistent( - new Identifier(MOD_ID, "persistent"), + Identifier.of(MOD_ID, "persistent"), Codec.INT ); @@ -77,7 +77,7 @@ public class CommonAttachmentTests { @Test void testTargets() { - AttachmentType<String> basic = AttachmentRegistry.create(new Identifier(MOD_ID, "basic_attachment")); + AttachmentType<String> basic = AttachmentRegistry.create(Identifier.of(MOD_ID, "basic_attachment")); // Attachment targets /* * CALLS_REAL_METHODS makes sense here because AttachmentTarget does not refer to anything in the underlying @@ -117,7 +117,7 @@ public class CommonAttachmentTests { @Test void testDefaulted() { AttachmentType<Integer> defaulted = AttachmentRegistry.createDefaulted( - new Identifier(MOD_ID, "defaulted_attachment"), + Identifier.of(MOD_ID, "defaulted_attachment"), () -> 0 ); Entity target = mock(Entity.class, CALLS_REAL_METHODS); @@ -131,7 +131,7 @@ public class CommonAttachmentTests { @Test void testStaticReadWrite() { AttachmentType<Double> dummy = AttachmentRegistry.createPersistent( - new Identifier(MOD_ID, "dummy"), + Identifier.of(MOD_ID, "dummy"), Codec.DOUBLE ); var map = new IdentityHashMap<AttachmentType<?>, Object>(); @@ -156,7 +156,7 @@ public class CommonAttachmentTests { var nbt = new NbtCompound(); assertNull(AttachmentSerializingImpl.deserializeAttachmentData(nbt, mockDRM())); - nbt.put(new Identifier("test").toString(), new NbtCompound()); + nbt.put(Identifier.ofDefaultNamespace("test").toString(), new NbtCompound()); assertNull(AttachmentSerializingImpl.deserializeAttachmentData(nbt, mockDRM())); } @@ -173,11 +173,11 @@ public class CommonAttachmentTests { @Test void testEntityCopy() { AttachmentType<Boolean> notCopiedOnRespawn = AttachmentRegistry.create( - new Identifier(MOD_ID, "not_copied_on_respawn") + Identifier.of(MOD_ID, "not_copied_on_respawn") ); AttachmentType<Boolean> copiedOnRespawn = AttachmentRegistry.<Boolean>builder() .copyOnDeath() - .buildAndRegister(new Identifier(MOD_ID, "copied_on_respawn")); + .buildAndRegister(Identifier.of(MOD_ID, "copied_on_respawn")); Entity original = mock(Entity.class, CALLS_REAL_METHODS); original.setAttached(notCopiedOnRespawn, true); diff --git a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/AttachmentTestMod.java b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/AttachmentTestMod.java index 317a2c1c6..5623c9ac9 100644 --- a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/AttachmentTestMod.java +++ b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/AttachmentTestMod.java @@ -51,11 +51,11 @@ public class AttachmentTestMod implements ModInitializer { public static final String MOD_ID = "fabric-data-attachment-api-v1-testmod"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); public static final AttachmentType<String> PERSISTENT = AttachmentRegistry.createPersistent( - new Identifier(MOD_ID, "persistent"), + Identifier.of(MOD_ID, "persistent"), Codec.STRING ); public static final AttachmentType<String> FEATURE_ATTACHMENT = AttachmentRegistry.create( - new Identifier(MOD_ID, "feature") + Identifier.of(MOD_ID, "feature") ); public static final ChunkPos FAR_CHUNK_POS = new ChunkPos(300, 0); @@ -65,12 +65,12 @@ public class AttachmentTestMod implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.FEATURE, new Identifier(MOD_ID, "set_attachment"), new SetAttachmentFeature(DefaultFeatureConfig.CODEC)); + Registry.register(Registries.FEATURE, Identifier.of(MOD_ID, "set_attachment"), new SetAttachmentFeature(DefaultFeatureConfig.CODEC)); BiomeModifications.addFeature( BiomeSelectors.foundInOverworld(), GenerationStep.Feature.VEGETAL_DECORATION, - RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(MOD_ID, "set_attachment")) + RegistryKey.of(RegistryKeys.PLACED_FEATURE, Identifier.of(MOD_ID, "set_attachment")) ); ServerLifecycleEvents.SERVER_STARTED.register(server -> { diff --git a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java index 90f1db04b..1a1811c25 100644 --- a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java +++ b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java @@ -39,11 +39,11 @@ import net.fabricmc.fabric.test.attachment.AttachmentTestMod; public class AttachmentCopyTests implements FabricGameTest { // using a lambda type because serialization shouldn't play a role in this public static AttachmentType<IntSupplier> DUMMY = AttachmentRegistry.create( - new Identifier(AttachmentTestMod.MOD_ID, "dummy") + Identifier.of(AttachmentTestMod.MOD_ID, "dummy") ); public static AttachmentType<IntSupplier> COPY_ON_DEATH = AttachmentRegistry.<IntSupplier>builder() .copyOnDeath() - .buildAndRegister(new Identifier(AttachmentTestMod.MOD_ID, "copy_test")); + .buildAndRegister(Identifier.of(AttachmentTestMod.MOD_ID, "copy_test")); @GameTest(templateName = FabricGameTest.EMPTY_STRUCTURE) public void testCrossWorldTeleport(TestContext context) { @@ -57,7 +57,7 @@ public class AttachmentCopyTests implements FabricGameTest { entity.setAttached(DUMMY, () -> 10); entity.setAttached(COPY_ON_DEATH, () -> 10); - Entity moved = entity.moveToWorld(() -> new TeleportTarget(end)); + Entity moved = entity.teleportTo(new TeleportTarget(end)); if (moved == null) throw new GameTestException("Cross-world teleportation failed"); IntSupplier attached1 = moved.getAttached(DUMMY); diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricAdvancementProvider.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricAdvancementProvider.java index 70604934f..f8220c2e5 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricAdvancementProvider.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricAdvancementProvider.java @@ -34,6 +34,7 @@ import net.minecraft.advancement.AdvancementEntry; import net.minecraft.data.DataOutput; import net.minecraft.data.DataProvider; import net.minecraft.data.DataWriter; +import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryOps; import net.minecraft.registry.RegistryWrapper; import net.minecraft.util.Identifier; @@ -55,7 +56,7 @@ public abstract class FabricAdvancementProvider implements DataProvider { protected FabricAdvancementProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registryLookup) { this.output = output; - this.pathResolver = output.getResolver(DataOutput.OutputType.DATA_PACK, "advancements"); + this.pathResolver = output.getResolver(RegistryKeys.ADVANCEMENT); this.registryLookup = registryLookup; } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricLanguageProvider.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricLanguageProvider.java index 40f0117c8..30d896f57 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricLanguageProvider.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricLanguageProvider.java @@ -110,7 +110,7 @@ public abstract class FabricLanguageProvider implements DataProvider { private Path getLangFilePath(String code) { return dataOutput .getResolver(DataOutput.OutputType.RESOURCE_PACK, "lang") - .resolveJson(new Identifier(dataOutput.getModId(), code)); + .resolveJson(Identifier.of(dataOutput.getModId(), code)); } @Override diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricRecipeProvider.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricRecipeProvider.java index 8678efc0d..f963be0fd 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricRecipeProvider.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricRecipeProvider.java @@ -125,6 +125,6 @@ public abstract class FabricRecipeProvider extends RecipeProvider { * Override this method to change the recipe identifier. The default implementation normalizes the namespace to the mod ID. */ protected Identifier getRecipeIdentifier(Identifier identifier) { - return new Identifier(output.getModId(), identifier.getPath()); + return Identifier.of(output.getModId(), identifier.getPath()); } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/impl/datagen/loot/FabricLootTableProviderImpl.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/impl/datagen/loot/FabricLootTableProviderImpl.java index a1faf2553..be86405d5 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/impl/datagen/loot/FabricLootTableProviderImpl.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/impl/datagen/loot/FabricLootTableProviderImpl.java @@ -81,7 +81,7 @@ public final class FabricLootTableProviderImpl { } private static Path getOutputPath(FabricDataOutput dataOutput, Identifier lootTableId) { - return dataOutput.getResolver(DataOutput.OutputType.DATA_PACK, "loot_tables").resolveJson(lootTableId); + return dataOutput.getResolver(DataOutput.OutputType.DATA_PACK, "loot_table").resolveJson(lootTableId); } private FabricLootTableProviderImpl() { diff --git a/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener b/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener index 39d359be1..ab1355fe6 100644 --- a/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener +++ b/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener @@ -117,6 +117,7 @@ transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider off transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider offerReversibleCompactingRecipes (Lnet/minecraft/data/server/recipe/RecipeExporter;Lnet/minecraft/recipe/book/RecipeCategory;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/book/RecipeCategory;Lnet/minecraft/item/ItemConvertible;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider offerSmithingTemplateCopyingRecipe (Lnet/minecraft/data/server/recipe/RecipeExporter;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/registry/tag/TagKey;)V transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider offerSmithingTemplateCopyingRecipe (Lnet/minecraft/data/server/recipe/RecipeExporter;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V +transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider method_60922 (Lnet/minecraft/data/server/recipe/RecipeExporter;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)V transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider generateCookingRecipes (Lnet/minecraft/data/server/recipe/RecipeExporter;Ljava/lang/String;Lnet/minecraft/recipe/RecipeSerializer;Lnet/minecraft/recipe/AbstractCookingRecipe$RecipeFactory;I)V transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider offerFoodCookingRecipe (Lnet/minecraft/data/server/recipe/RecipeExporter;Ljava/lang/String;Lnet/minecraft/recipe/RecipeSerializer;Lnet/minecraft/recipe/AbstractCookingRecipe$RecipeFactory;ILnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;F)V transitive-accessible method net/minecraft/data/server/recipe/RecipeProvider offerWaxingRecipes (Lnet/minecraft/data/server/recipe/RecipeExporter;Lnet/minecraft/resource/featuretoggle/FeatureSet;)V diff --git a/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestContent.java b/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestContent.java index bdb921f38..7b52736cc 100644 --- a/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestContent.java +++ b/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestContent.java @@ -48,21 +48,21 @@ public class DataGeneratorTestContent implements ModInitializer { public static Block BLOCK_WITH_VANILLA_LOOT_TABLE; public static Block BLOCK_THAT_DROPS_NOTHING; - public static final RegistryKey<ItemGroup> SIMPLE_ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, new Identifier(MOD_ID, "simple")); + public static final RegistryKey<ItemGroup> SIMPLE_ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(MOD_ID, "simple")); public static final RegistryKey<Registry<TestDatagenObject>> TEST_DATAGEN_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_datagen_dynamic")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_datagen_dynamic")); public static final RegistryKey<TestDatagenObject> TEST_DYNAMIC_REGISTRY_ITEM_KEY = RegistryKey.of( TEST_DATAGEN_DYNAMIC_REGISTRY_KEY, - new Identifier(MOD_ID, "tiny_potato") + Identifier.of(MOD_ID, "tiny_potato") ); public static final RegistryKey<TestDatagenObject> TEST_DYNAMIC_REGISTRY_EXTRA_ITEM_KEY = RegistryKey.of( TEST_DATAGEN_DYNAMIC_REGISTRY_KEY, - new Identifier(MOD_ID, "tinier_potato") + Identifier.of(MOD_ID, "tinier_potato") ); // Empty registry public static final RegistryKey<Registry<TestDatagenObject>> TEST_DATAGEN_DYNAMIC_EMPTY_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_datagen_dynamic_empty")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_datagen_dynamic_empty")); @Override public void onInitialize() { @@ -84,7 +84,7 @@ public class DataGeneratorTestContent implements ModInitializer { } private static Block createBlock(String name, boolean hasItem, AbstractBlock.Settings settings) { - Identifier identifier = new Identifier(MOD_ID, name); + Identifier identifier = Identifier.of(MOD_ID, name); Block block = Registry.register(Registries.BLOCK, identifier, new Block(settings)); if (hasItem) { diff --git a/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestEntrypoint.java b/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestEntrypoint.java index bcae42dcf..8b0299cfe 100644 --- a/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestEntrypoint.java +++ b/fabric-data-generation-api-v1/src/testmod/java/net/fabricmc/fabric/test/datagen/DataGeneratorTestEntrypoint.java @@ -142,7 +142,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { } } - FabricDataGenerator.Pack extraPack = dataGenerator.createBuiltinResourcePack(new Identifier(MOD_ID, "extra")); + FabricDataGenerator.Pack extraPack = dataGenerator.createBuiltinResourcePack(Identifier.of(MOD_ID, "extra")); CompletableFuture<RegistryWrapper.WrapperLookup> extraRegistries = ExperimentalRegistriesValidator.validate(dataGenerator.getRegistries(), new RegistryBuilder() .addRegistry(TEST_DATAGEN_DYNAMIC_REGISTRY_KEY, c -> c.register(TEST_DYNAMIC_REGISTRY_EXTRA_ITEM_KEY, new DataGeneratorTestContent.TestDatagenObject(":tiny_potato:")) @@ -255,7 +255,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { @Override public void generateTranslations(RegistryWrapper.WrapperLookup registryLookup, TranslationBuilder translationBuilder) { translationBuilder.add(SIMPLE_BLOCK, "Simple Block"); - translationBuilder.add(new Identifier(MOD_ID, "identifier_test"), "Identifier Test"); + translationBuilder.add(Identifier.of(MOD_ID, "identifier_test"), "Identifier Test"); translationBuilder.add(EntityType.ALLAY, "Allay"); translationBuilder.add(EntityAttributes.GENERIC_ARMOR, "Generic Armor"); @@ -343,7 +343,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { @Override protected void configure(RegistryWrapper.WrapperLookup registries) { - getOrCreateTagBuilder(TagKey.of(RegistryKeys.BIOME, new Identifier(MOD_ID, "biome_tag_test"))) + getOrCreateTagBuilder(TagKey.of(RegistryKeys.BIOME, Identifier.of(MOD_ID, "biome_tag_test"))) .add(BiomeKeys.BADLANDS, BiomeKeys.BAMBOO_JUNGLE) .add(BiomeKeys.BASALT_DELTAS); } @@ -356,7 +356,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { @Override protected void configure(RegistryWrapper.WrapperLookup registries) { - getOrCreateTagBuilder(TagKey.of(RegistryKeys.GAME_EVENT, new Identifier(MOD_ID, "game_event_tag_test"))) + getOrCreateTagBuilder(TagKey.of(RegistryKeys.GAME_EVENT, Identifier.of(MOD_ID, "game_event_tag_test"))) .add(GameEvent.SHRIEK.registryKey()); } } @@ -373,7 +373,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { SIMPLE_BLOCK, Text.translatable("advancements.test.root.title"), Text.translatable("advancements.test.root.description"), - new Identifier("textures/gui/advancements/backgrounds/end.png"), + Identifier.ofDefaultNamespace("textures/gui/advancements/backgrounds/end.png"), AdvancementFrame.TASK, false, false, false) .criterion("killed_something", OnKilledCriterion.Conditions.createPlayerKilledEntity()) @@ -383,7 +383,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { SIMPLE_BLOCK, Text.translatable("advancements.test.root_not_loaded.title"), Text.translatable("advancements.test.root_not_loaded.description"), - new Identifier("textures/gui/advancements/backgrounds/end.png"), + Identifier.ofDefaultNamespace("textures/gui/advancements/backgrounds/end.png"), AdvancementFrame.TASK, false, false, false) .criterion("killed_something", OnKilledCriterion.Conditions.createPlayerKilledEntity()) @@ -466,13 +466,13 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { private static class TestPredicateProvider extends FabricCodecDataProvider<LootCondition> { private TestPredicateProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { - super(dataOutput, registriesFuture, DataOutput.OutputType.DATA_PACK, "predicates", LootCondition.CODEC); + super(dataOutput, registriesFuture, DataOutput.OutputType.DATA_PACK, "predicate", LootCondition.CODEC); } @Override protected void configure(BiConsumer<Identifier, LootCondition> provider, RegistryWrapper.WrapperLookup lookup) { RegistryEntryLookup<Block> blocks = lookup.createRegistryLookup().getOrThrow(RegistryKeys.BLOCK); - provider.accept(new Identifier(MOD_ID, "predicate_test"), BlockStatePropertyLootCondition.builder( + provider.accept(Identifier.of(MOD_ID, "predicate_test"), BlockStatePropertyLootCondition.builder( blocks.getOrThrow(BlockKeys.MELON).value()).build()); // Pretend this actually does something and we cannot access the blocks directly } @@ -490,7 +490,7 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint { @Override protected void configure(BiConsumer<Identifier, Entry> provider, RegistryWrapper.WrapperLookup lookup) { RegistryEntryLookup<Biome> biomes = lookup.createRegistryLookup().getOrThrow(RegistryKeys.BIOME); - provider.accept(new Identifier(MOD_ID, "custom_codec_test"), new Entry(biomes.getOrThrow(BiomeKeys.PLAINS))); + provider.accept(Identifier.of(MOD_ID, "custom_codec_test"), new Entry(biomes.getOrThrow(BiomeKeys.PLAINS))); } @Override diff --git a/fabric-data-generation-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/datagen/client/DataGeneratorClientTestEntrypoint.java b/fabric-data-generation-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/datagen/client/DataGeneratorClientTestEntrypoint.java index 3d6661939..87cbe4e11 100644 --- a/fabric-data-generation-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/datagen/client/DataGeneratorClientTestEntrypoint.java +++ b/fabric-data-generation-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/datagen/client/DataGeneratorClientTestEntrypoint.java @@ -44,7 +44,7 @@ public class DataGeneratorClientTestEntrypoint implements DataGeneratorEntrypoin @Override public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) { - final FabricDataGenerator.Pack pack = dataGenerator.createBuiltinResourcePack(new Identifier(MOD_ID, "example_builtin")); + final FabricDataGenerator.Pack pack = dataGenerator.createBuiltinResourcePack(Identifier.of(MOD_ID, "example_builtin")); pack.addProvider(TestAtlasSourceProvider::new); } @@ -55,7 +55,7 @@ public class DataGeneratorClientTestEntrypoint implements DataGeneratorEntrypoin @Override protected void configure(BiConsumer<Identifier, List<AtlasSource>> provider, RegistryWrapper.WrapperLookup lookup) { - provider.accept(new Identifier(MOD_ID, "atlas_source_test"), List.of(new DirectoryAtlasSource("example", "example/"))); + provider.accept(Identifier.of(MOD_ID, "atlas_source_test"), List.of(new DirectoryAtlasSource("example", "example/"))); } @Override diff --git a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/FabricDimensionInternals.java b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/FabricDimensionInternals.java index ee1a42a27..07a1b8be1 100644 --- a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/FabricDimensionInternals.java +++ b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/FabricDimensionInternals.java @@ -34,7 +34,7 @@ public final class FabricDimensionInternals { Preconditions.checkArgument(Thread.currentThread() == ((ServerWorld) teleported.getWorld()).getServer().getThread(), "Entities must be teleported from the main server thread"); // Fast path for teleporting within the same dimension. - if (teleported.getWorld() == target.newDimension()) { + if (teleported.getWorld() == target.world()) { if (teleported instanceof ServerPlayerEntity serverPlayerEntity) { serverPlayerEntity.networkHandler.requestTeleport(target.pos().x, target.pos().y, target.pos().z, target.yaw(), target.pitch()); } else { @@ -47,6 +47,6 @@ public final class FabricDimensionInternals { return teleported; } - return (E) teleported.moveToWorld(() -> target); + return (E) teleported.teleportTo(target); } } diff --git a/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/FabricDimensionTest.java b/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/FabricDimensionTest.java index 933262f0d..f329e0f7a 100644 --- a/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/FabricDimensionTest.java +++ b/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/FabricDimensionTest.java @@ -51,16 +51,16 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; public class FabricDimensionTest implements ModInitializer { // The dimension options refer to the JSON-file in the dimension subfolder of the data pack, // which will always share its ID with the world that is created from it - private static final RegistryKey<DimensionOptions> DIMENSION_KEY = RegistryKey.of(RegistryKeys.DIMENSION, new Identifier("fabric_dimension", "void")); + private static final RegistryKey<DimensionOptions> DIMENSION_KEY = RegistryKey.of(RegistryKeys.DIMENSION, Identifier.of("fabric_dimension", "void")); private static final SimpleCommandExceptionType FAILED_EXCEPTION = new SimpleCommandExceptionType(Text.literal("Teleportation failed!")); private static RegistryKey<World> WORLD_KEY = RegistryKey.of(RegistryKeys.WORLD, DIMENSION_KEY.getValue()); @Override public void onInitialize() { - Registry.register(Registries.CHUNK_GENERATOR, new Identifier("fabric_dimension", "void"), VoidChunkGenerator.CODEC); + Registry.register(Registries.CHUNK_GENERATOR, Identifier.of("fabric_dimension", "void"), VoidChunkGenerator.CODEC); - WORLD_KEY = RegistryKey.of(RegistryKeys.WORLD, new Identifier("fabric_dimension", "void")); + WORLD_KEY = RegistryKey.of(RegistryKeys.WORLD, Identifier.of("fabric_dimension", "void")); if (System.getProperty("fabric-api.gametest") != null) { // The gametest server does not support custom worlds diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java index 5e0afdf11..558d928bc 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java @@ -28,6 +28,7 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import net.minecraft.entity.Entity; import net.minecraft.network.packet.s2c.play.PositionFlag; import net.minecraft.server.world.ServerWorld; +import net.minecraft.world.TeleportTarget; import net.minecraft.world.World; import net.fabricmc.fabric.api.entity.event.v1.ServerEntityWorldChangeEvents; @@ -35,10 +36,10 @@ import net.fabricmc.fabric.api.entity.event.v1.ServerEntityWorldChangeEvents; @Mixin(Entity.class) abstract class EntityMixin { @Shadow - public World world; + private World world; - @Inject(method = "moveToWorld", at = @At("RETURN")) - private void afterWorldChanged(Entity.TeleportTargetSupplier targetSupplier, CallbackInfoReturnable<Entity> cir) { + @Inject(method = "teleportTo", at = @At("RETURN")) + private void afterWorldChanged(TeleportTarget targetSupplier, CallbackInfoReturnable<Entity> cir) { // Ret will only have an entity if the teleport worked (entity not removed, teleportTarget was valid, entity was successfully created) Entity ret = cir.getReturnValue(); diff --git a/fabric-entity-events-v1/src/testmod/java/net/fabricmc/fabric/test/entity/event/EntityEventTests.java b/fabric-entity-events-v1/src/testmod/java/net/fabricmc/fabric/test/entity/event/EntityEventTests.java index 527279500..2b987a55c 100644 --- a/fabric-entity-events-v1/src/testmod/java/net/fabricmc/fabric/test/entity/event/EntityEventTests.java +++ b/fabric-entity-events-v1/src/testmod/java/net/fabricmc/fabric/test/entity/event/EntityEventTests.java @@ -56,9 +56,9 @@ public final class EntityEventTests implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.BLOCK, new Identifier("fabric-entity-events-v1-testmod", "test_bed"), TEST_BED); - Registry.register(Registries.ITEM, new Identifier("fabric-entity-events-v1-testmod", "test_bed"), new BlockItem(TEST_BED, new Item.Settings())); - Registry.register(Registries.ITEM, new Identifier("fabric-entity-events-v1-testmod", "diamond_elytra"), DIAMOND_ELYTRA); + Registry.register(Registries.BLOCK, Identifier.of("fabric-entity-events-v1-testmod", "test_bed"), TEST_BED); + Registry.register(Registries.ITEM, Identifier.of("fabric-entity-events-v1-testmod", "test_bed"), new BlockItem(TEST_BED, new Item.Settings())); + Registry.register(Registries.ITEM, Identifier.of("fabric-entity-events-v1-testmod", "diamond_elytra"), DIAMOND_ELYTRA); ServerEntityCombatEvents.AFTER_KILLED_OTHER_ENTITY.register((world, entity, killed) -> { LOGGER.info("Entity {} Killed: {}", entity, killed); diff --git a/fabric-game-rule-api-v1/src/testmod/java/net/fabricmc/fabric/test/gamerule/GameRulesTestMod.java b/fabric-game-rule-api-v1/src/testmod/java/net/fabricmc/fabric/test/gamerule/GameRulesTestMod.java index 1184102f5..a12e10e49 100644 --- a/fabric-game-rule-api-v1/src/testmod/java/net/fabricmc/fabric/test/gamerule/GameRulesTestMod.java +++ b/fabric-game-rule-api-v1/src/testmod/java/net/fabricmc/fabric/test/gamerule/GameRulesTestMod.java @@ -44,8 +44,8 @@ import net.fabricmc.fabric.api.gamerule.v1.rule.EnumRule; public class GameRulesTestMod implements ModInitializer { private static final Logger LOGGER = LoggerFactory.getLogger(GameRulesTestMod.class); private static final Direction[] CARDINAL_DIRECTIONS = Arrays.stream(Direction.values()).filter(direction -> direction != Direction.UP && direction != Direction.DOWN).toArray(Direction[]::new); - public static final CustomGameRuleCategory GREEN_CATEGORY = new CustomGameRuleCategory(new Identifier("fabric", "green"), Text.literal("This One is Green").styled(style -> style.withBold(true).withColor(Formatting.DARK_GREEN))); - public static final CustomGameRuleCategory RED_CATEGORY = new CustomGameRuleCategory(new Identifier("fabric", "red"), Text.literal("This One is Red").styled(style -> style.withBold(true).withColor(Formatting.DARK_RED))); + public static final CustomGameRuleCategory GREEN_CATEGORY = new CustomGameRuleCategory(Identifier.of("fabric", "green"), Text.literal("This One is Green").styled(style -> style.withBold(true).withColor(Formatting.DARK_GREEN))); + public static final CustomGameRuleCategory RED_CATEGORY = new CustomGameRuleCategory(Identifier.of("fabric", "red"), Text.literal("This One is Red").styled(style -> style.withBold(true).withColor(Formatting.DARK_RED))); // Bounded, Integer, Double and Float rules public static final GameRules.Key<GameRules.IntRule> POSITIVE_ONLY_TEST_INT = register("positiveOnlyTestInteger", GameRules.Category.UPDATES, GameRuleFactory.createIntRule(2, 0)); diff --git a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ArmorKnockbackResistanceTest.java b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ArmorKnockbackResistanceTest.java index 11dbcbdc6..e662ddeb4 100644 --- a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ArmorKnockbackResistanceTest.java +++ b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ArmorKnockbackResistanceTest.java @@ -34,11 +34,11 @@ import net.minecraft.util.Util; import net.fabricmc.api.ModInitializer; public class ArmorKnockbackResistanceTest implements ModInitializer { - private static final RegistryEntry<ArmorMaterial> WOOD_ARMOR = Registry.registerReference(Registries.ARMOR_MATERIAL, new Identifier("fabric-item-api-v1-testmod", "wood"), createTestArmorMaterial()); + private static final RegistryEntry<ArmorMaterial> WOOD_ARMOR = Registry.registerReference(Registries.ARMOR_MATERIAL, Identifier.of("fabric-item-api-v1-testmod", "wood"), createTestArmorMaterial()); @Override public void onInitialize() { - Registry.register(Registries.ITEM, new Identifier("fabric-item-api-v1-testmod", + Registry.register(Registries.ITEM, Identifier.of("fabric-item-api-v1-testmod", "wooden_boots"), new ArmorItem(WOOD_ARMOR, ArmorItem.Type.BOOTS, new Item.Settings())); } @@ -53,7 +53,7 @@ public class ArmorKnockbackResistanceTest implements ModInitializer { 0, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, () -> Ingredient.ofItems(Items.LEATHER), - List.of(new ArmorMaterial.Layer(new Identifier("fabric-item-api-v1-testmod", "wood"))), + List.of(new ArmorMaterial.Layer(Identifier.of("fabric-item-api-v1-testmod", "wood"))), 0, 0.5F ); diff --git a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/CustomDamageTest.java b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/CustomDamageTest.java index a9fb9e6d4..f9552ebba 100644 --- a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/CustomDamageTest.java +++ b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/CustomDamageTest.java @@ -44,7 +44,7 @@ import net.fabricmc.fabric.api.registry.FuelRegistry; import net.fabricmc.fabric.api.util.TriState; public class CustomDamageTest implements ModInitializer { - public static final ComponentType<Integer> WEIRD = Registry.register(Registries.DATA_COMPONENT_TYPE, new Identifier("fabric-item-api-v1-testmod", "weird"), + public static final ComponentType<Integer> WEIRD = Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of("fabric-item-api-v1-testmod", "weird"), ComponentType.<Integer>builder().codec(Codecs.NONNEGATIVE_INT).packetCodec(PacketCodecs.VAR_INT).build()); public static final CustomDamageHandler WEIRD_DAMAGE_HANDLER = (stack, amount, entity, slot, breakCallback) -> { // If sneaking, apply all damage to vanilla. Otherwise, increment a tag on the stack by one and don't apply any damage @@ -60,7 +60,7 @@ public class CustomDamageTest implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.ITEM, new Identifier("fabric-item-api-v1-testmod", "weird_pickaxe"), WEIRD_PICK); + Registry.register(Registries.ITEM, Identifier.of("fabric-item-api-v1-testmod", "weird_pickaxe"), WEIRD_PICK); FuelRegistry.INSTANCE.add(WEIRD_PICK, 200); FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> builder.registerPotionRecipe(Potions.WATER, WEIRD_PICK, Potions.AWKWARD)); EnchantmentEvents.ALLOW_ENCHANTING.register(((enchantment, target, enchantingContext) -> { diff --git a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/DefaultItemComponentTest.java b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/DefaultItemComponentTest.java index 230ebfc28..3dc51c75d 100644 --- a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/DefaultItemComponentTest.java +++ b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/DefaultItemComponentTest.java @@ -35,7 +35,7 @@ import net.fabricmc.fabric.api.item.v1.DefaultItemComponentEvents; public class DefaultItemComponentTest implements ModInitializer { @Override public void onInitialize() { - Identifier latePhase = new Identifier("fabric-item-api-v1-testmod", "late"); + Identifier latePhase = Identifier.of("fabric-item-api-v1-testmod", "late"); DefaultItemComponentEvents.MODIFY.addPhaseOrdering(Event.DEFAULT_PHASE, latePhase); DefaultItemComponentEvents.MODIFY.register(context -> { diff --git a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ItemUpdateAnimationTest.java b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ItemUpdateAnimationTest.java index dc49727cb..b8ef53cd9 100644 --- a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ItemUpdateAnimationTest.java +++ b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/ItemUpdateAnimationTest.java @@ -26,12 +26,12 @@ import net.minecraft.util.dynamic.Codecs; import net.fabricmc.api.ModInitializer; public class ItemUpdateAnimationTest implements ModInitializer { - public static final ComponentType<Integer> TICKS = Registry.register(Registries.DATA_COMPONENT_TYPE, new Identifier("fabric-item-api-v1-testmod", "ticks"), + public static final ComponentType<Integer> TICKS = Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of("fabric-item-api-v1-testmod", "ticks"), ComponentType.<Integer>builder().codec(Codecs.NONNEGATIVE_INT).packetCodec(PacketCodecs.VAR_INT).build()); @Override public void onInitialize() { - Registry.register(Registries.ITEM, new Identifier("fabric-item-api-v1-testmod", "updating_allowed"), new UpdatingItem(true)); - Registry.register(Registries.ITEM, new Identifier("fabric-item-api-v1-testmod", "updating_disallowed"), new UpdatingItem(false)); + Registry.register(Registries.ITEM, Identifier.of("fabric-item-api-v1-testmod", "updating_allowed"), new UpdatingItem(true)); + Registry.register(Registries.ITEM, Identifier.of("fabric-item-api-v1-testmod", "updating_disallowed"), new UpdatingItem(false)); } } diff --git a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/UpdatingItem.java b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/UpdatingItem.java index a11081af3..41704d6c9 100644 --- a/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/UpdatingItem.java +++ b/fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/UpdatingItem.java @@ -30,7 +30,7 @@ import net.minecraft.world.World; public class UpdatingItem extends Item { private static final EntityAttributeModifier PLUS_FIVE = new EntityAttributeModifier( - ATTACK_DAMAGE_MODIFIER_ID, "updating item", 5, EntityAttributeModifier.Operation.ADD_VALUE); + BASE_ATTACK_DAMAGE_MODIFIER_ID, 5, EntityAttributeModifier.Operation.ADD_VALUE); private final boolean allowUpdateAnimation; diff --git a/fabric-item-group-api-v1/src/client/java/net/fabricmc/fabric/impl/client/itemgroup/FabricCreativeGuiComponents.java b/fabric-item-group-api-v1/src/client/java/net/fabricmc/fabric/impl/client/itemgroup/FabricCreativeGuiComponents.java index 6916d04f8..188def75d 100644 --- a/fabric-item-group-api-v1/src/client/java/net/fabricmc/fabric/impl/client/itemgroup/FabricCreativeGuiComponents.java +++ b/fabric-item-group-api-v1/src/client/java/net/fabricmc/fabric/impl/client/itemgroup/FabricCreativeGuiComponents.java @@ -33,7 +33,7 @@ import net.minecraft.util.Identifier; import net.fabricmc.fabric.impl.itemgroup.FabricItemGroup; public class FabricCreativeGuiComponents { - private static final Identifier BUTTON_TEX = new Identifier("fabric", "textures/gui/creative_buttons.png"); + private static final Identifier BUTTON_TEX = Identifier.of("fabric", "textures/gui/creative_buttons.png"); private static final double TABS_PER_PAGE = FabricItemGroup.TABS_PER_PAGE; public static final Set<ItemGroup> COMMON_GROUPS = Set.of(ItemGroups.SEARCH, ItemGroups.INVENTORY, ItemGroups.HOTBAR).stream() .map(Registries.ITEM_GROUP::getOrThrow) diff --git a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroup.java b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroup.java index 739a92679..d13cd6dee 100644 --- a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroup.java +++ b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroup.java @@ -40,7 +40,7 @@ public final class FabricItemGroup { * <p>Example: * * <pre>{@code - * private static final RegistryKey<ItemGroup> ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, new Identifier(MOD_ID, "test_group")); + * private static final RegistryKey<ItemGroup> ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(MOD_ID, "test_group")); * * @Override * public void onInitialize() { diff --git a/fabric-item-group-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java b/fabric-item-group-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java index f92bc187a..a7b212c9f 100644 --- a/fabric-item-group-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java +++ b/fabric-item-group-api-v1/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java @@ -39,11 +39,11 @@ public class ItemGroupTest implements ModInitializer { private static final String MOD_ID = "fabric-item-group-api-v1-testmod"; private static Item TEST_ITEM; - private static final RegistryKey<ItemGroup> ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, new Identifier(MOD_ID, "test_group")); + private static final RegistryKey<ItemGroup> ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, Identifier.of(MOD_ID, "test_group")); @Override public void onInitialize() { - TEST_ITEM = Registry.register(Registries.ITEM, new Identifier("fabric-item-groups-v0-testmod", "item_test_group"), new Item(new Item.Settings())); + TEST_ITEM = Registry.register(Registries.ITEM, Identifier.of("fabric-item-groups-v0-testmod", "item_test_group"), new Item(new Item.Settings())); Registry.register(Registries.ITEM_GROUP, ITEM_GROUP, FabricItemGroup.builder() .displayName(Text.literal("Test Item Group")) @@ -86,7 +86,7 @@ public class ItemGroupTest implements ModInitializer { for (int j = 0; j < 20; j++) { Registry.register( Registries.ITEM_GROUP, - new Identifier(MOD_ID, "empty_group_" + j), + Identifier.of(MOD_ID, "empty_group_" + j), FabricItemGroup.builder() .displayName(Text.literal("Empty Item Group: " + j)) .build() @@ -96,7 +96,7 @@ public class ItemGroupTest implements ModInitializer { for (int i = 0; i < 100; i++) { final int index = i; - Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "test_group_" + i), FabricItemGroup.builder() + Registry.register(Registries.ITEM_GROUP, Identifier.of(MOD_ID, "test_group_" + i), FabricItemGroup.builder() .displayName(Text.literal("Test Item Group: " + i)) .icon((Supplier<ItemStack>) () -> new ItemStack(Registries.BLOCK.get(index))) .entries((context, entries) -> { diff --git a/fabric-loot-api-v2/src/main/java/net/fabricmc/fabric/mixin/loot/JsonDataLoaderMixin.java b/fabric-loot-api-v2/src/main/java/net/fabricmc/fabric/mixin/loot/JsonDataLoaderMixin.java index 422aca745..c6d67d39d 100644 --- a/fabric-loot-api-v2/src/main/java/net/fabricmc/fabric/mixin/loot/JsonDataLoaderMixin.java +++ b/fabric-loot-api-v2/src/main/java/net/fabricmc/fabric/mixin/loot/JsonDataLoaderMixin.java @@ -38,7 +38,7 @@ import net.fabricmc.fabric.impl.loot.LootUtil; public class JsonDataLoaderMixin { @Inject(method = "load", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/resource/ResourceFinder;toResourceId(Lnet/minecraft/util/Identifier;)Lnet/minecraft/util/Identifier;", shift = At.Shift.AFTER)) private static void fillSourceMap(ResourceManager manager, String dataType, Gson gson, Map<Identifier, JsonElement> results, CallbackInfo ci, @Local Map.Entry<Identifier, Resource> entry, @Local(ordinal = 1) Identifier id) { - if (!LootDataType.LOOT_TABLES.directory().equals(dataType)) return; + if (!LootDataType.LOOT_TABLES.registryKey().getValue().getPath().equals(dataType)) return; LootUtil.SOURCES.get().put(id, LootUtil.determineSource(entry.getValue())); } diff --git a/fabric-loot-api-v2/src/testmod/resources/data/minecraft/loot_tables/blocks/red_wool.json b/fabric-loot-api-v2/src/testmod/resources/data/minecraft/loot_table/blocks/red_wool.json similarity index 100% rename from fabric-loot-api-v2/src/testmod/resources/data/minecraft/loot_tables/blocks/red_wool.json rename to fabric-loot-api-v2/src/testmod/resources/data/minecraft/loot_table/blocks/red_wool.json diff --git a/fabric-loot-api-v2/src/testmod/resources/data/minecraft/predicates/match_tool_shears.json b/fabric-loot-api-v2/src/testmod/resources/data/minecraft/predicate/match_tool_shears.json similarity index 100% rename from fabric-loot-api-v2/src/testmod/resources/data/minecraft/predicates/match_tool_shears.json rename to fabric-loot-api-v2/src/testmod/resources/data/minecraft/predicate/match_tool_shears.json diff --git a/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/api/message/v1/ServerMessageDecoratorEvent.java b/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/api/message/v1/ServerMessageDecoratorEvent.java index 93c0853f3..ffdf0a647 100644 --- a/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/api/message/v1/ServerMessageDecoratorEvent.java +++ b/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/api/message/v1/ServerMessageDecoratorEvent.java @@ -66,12 +66,12 @@ public final class ServerMessageDecoratorEvent { * The content phase of the event, passed when registering a message decorator. Use this when * the decorator modifies the text content of the message. */ - public static final Identifier CONTENT_PHASE = new Identifier("fabric", "content"); + public static final Identifier CONTENT_PHASE = Identifier.of("fabric", "content"); /** * The styling phase of the event, passed when registering a message decorator. Use this when * the decorator only modifies the styling of the message with the text intact. */ - public static final Identifier STYLING_PHASE = new Identifier("fabric", "styling"); + public static final Identifier STYLING_PHASE = Identifier.of("fabric", "styling"); public static final Event<MessageDecorator> EVENT = EventFactory.createWithPhases(MessageDecorator.class, decorators -> (sender, message) -> { Text decorated = message; diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/api/client/model/loading/v1/ModelModifier.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/api/client/model/loading/v1/ModelModifier.java index 58786621f..da6777996 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/api/client/model/loading/v1/ModelModifier.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/api/client/model/loading/v1/ModelModifier.java @@ -57,7 +57,7 @@ public final class ModelModifier { /** * Recommended phase to use when overriding models, e.g. replacing a model with another model. */ - public static final Identifier OVERRIDE_PHASE = new Identifier("fabric", "override"); + public static final Identifier OVERRIDE_PHASE = Identifier.of("fabric", "override"); /** * Recommended phase to use for transformations that need to happen before wrapping, but after model overrides. */ @@ -65,12 +65,12 @@ public final class ModelModifier { /** * Recommended phase to use when wrapping models. */ - public static final Identifier WRAP_PHASE = new Identifier("fabric", "wrap"); + public static final Identifier WRAP_PHASE = Identifier.of("fabric", "wrap"); /** * Recommended phase to use when wrapping models with transformations that want to happen last, * e.g. for connected textures or other similar visual effects that should be the final processing step. */ - public static final Identifier WRAP_LAST_PHASE = new Identifier("fabric", "wrap_last"); + public static final Identifier WRAP_LAST_PHASE = Identifier.of("fabric", "wrap_last"); @FunctionalInterface public interface OnLoad { diff --git a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/ModelTestModClient.java b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/ModelTestModClient.java index c11eecea8..4168c2e24 100644 --- a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/ModelTestModClient.java +++ b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/ModelTestModClient.java @@ -47,7 +47,7 @@ import net.fabricmc.fabric.api.resource.ResourceManagerHelper; public class ModelTestModClient implements ClientModInitializer { public static final String ID = "fabric-model-loading-api-v1-testmod"; - public static final Identifier MODEL_ID = new Identifier(ID, "half_red_sand"); + public static final Identifier MODEL_ID = Identifier.of(ID, "half_red_sand"); static class DownQuadRemovingModel extends ForwardingBakedModel { DownQuadRemovingModel(BakedModel model) { @@ -99,7 +99,7 @@ public class ModelTestModClient implements ClientModInitializer { // All the block state models are top-level... // Use a delegating unbaked model to make sure the identical models only get baked a single time. - Identifier wheatStage0Id = new Identifier("block/wheat_stage0"); + Identifier wheatStage0Id = Identifier.ofDefaultNamespace("block/wheat_stage0"); UnbakedModel stage0Model = new DelegatingUnbakedModel(wheatStage0Id); @@ -107,7 +107,7 @@ public class ModelTestModClient implements ClientModInitializer { context.setModel(state.with(CropBlock.AGE, age), stage0Model); } - context.setModel(state.with(CropBlock.AGE, 7), context.getOrLoadModel(new Identifier("block/wheat_stage7"))); + context.setModel(state.with(CropBlock.AGE, 7), context.getOrLoadModel(Identifier.ofDefaultNamespace("block/wheat_stage7"))); }); }); diff --git a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/NestedModelLoadingTest.java b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/NestedModelLoadingTest.java index 7183940e4..8055fda2b 100644 --- a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/NestedModelLoadingTest.java +++ b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/NestedModelLoadingTest.java @@ -33,7 +33,7 @@ public class NestedModelLoadingTest implements ClientModInitializer { private static final Logger LOGGER = LogUtils.getLogger(); private static Identifier id(String path) { - return new Identifier("fabric-model-loading-api-v1-testmod", path); + return Identifier.of("fabric-model-loading-api-v1-testmod", path); } private static final Identifier BASE_MODEL = id("nested_base"); @@ -42,7 +42,7 @@ public class NestedModelLoadingTest implements ClientModInitializer { private static final Identifier NESTED_MODEL_3 = id("nested_3"); private static final Identifier NESTED_MODEL_4 = id("nested_4"); private static final Identifier NESTED_MODEL_5 = id("nested_5"); - private static final Identifier TARGET_MODEL = new Identifier("minecraft", "block/stone"); + private static final Identifier TARGET_MODEL = Identifier.ofDefaultNamespace("block/stone"); @Override public void onInitializeClient() { diff --git a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/SpecificModelReloadListener.java b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/SpecificModelReloadListener.java index 7a9c9f90f..38d402a95 100644 --- a/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/SpecificModelReloadListener.java +++ b/fabric-model-loading-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/model/loading/SpecificModelReloadListener.java @@ -32,7 +32,7 @@ import net.fabricmc.fabric.api.resource.ResourceReloadListenerKeys; public class SpecificModelReloadListener extends SinglePreparationResourceReloader<Unit> implements IdentifiableResourceReloadListener { public static final SpecificModelReloadListener INSTANCE = new SpecificModelReloadListener(); - public static final Identifier ID = new Identifier(ModelTestModClient.ID, "specific_model"); + public static final Identifier ID = Identifier.of(ModelTestModClient.ID, "specific_model"); private BakedModel specificModel; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonRegisterPayload.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonRegisterPayload.java index 7a3a2c895..7a9161310 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonRegisterPayload.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonRegisterPayload.java @@ -25,7 +25,7 @@ import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; public record CommonRegisterPayload(int version, String phase, Set<Identifier> channels) implements CustomPayload { - public static final CustomPayload.Id<CommonRegisterPayload> ID = CustomPayload.id("c:register"); + public static final CustomPayload.Id<CommonRegisterPayload> ID = new Id<>(Identifier.of("c:register")); public static final PacketCodec<PacketByteBuf, CommonRegisterPayload> CODEC = CustomPayload.codecOf(CommonRegisterPayload::write, CommonRegisterPayload::new); public static final String PLAY_PHASE = "play"; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonVersionPayload.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonVersionPayload.java index c900b4ee6..8acbb1dfc 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonVersionPayload.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/CommonVersionPayload.java @@ -19,10 +19,11 @@ package net.fabricmc.fabric.impl.networking; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; import net.minecraft.network.packet.CustomPayload; +import net.minecraft.util.Identifier; public record CommonVersionPayload(int[] versions) implements CustomPayload { public static final PacketCodec<PacketByteBuf, CommonVersionPayload> CODEC = CustomPayload.codecOf(CommonVersionPayload::write, CommonVersionPayload::new); - public static final CustomPayload.Id<CommonVersionPayload> ID = CustomPayload.id("c:version"); + public static final CustomPayload.Id<CommonVersionPayload> ID = new Id<>(Identifier.of("c:version")); private CommonVersionPayload(PacketByteBuf buf) { this(buf.readIntArray()); diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/NetworkingImpl.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/NetworkingImpl.java index dba589b7a..1a5e3b138 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/NetworkingImpl.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/NetworkingImpl.java @@ -30,12 +30,12 @@ public final class NetworkingImpl { /** * Id of packet used to register supported channels. */ - public static final Identifier REGISTER_CHANNEL = new Identifier("minecraft", "register"); + public static final Identifier REGISTER_CHANNEL = Identifier.ofDefaultNamespace("register"); /** * Id of packet used to unregister supported channels. */ - public static final Identifier UNREGISTER_CHANNEL = new Identifier("minecraft", "unregister"); + public static final Identifier UNREGISTER_CHANNEL = Identifier.ofDefaultNamespace("unregister"); public static boolean isReservedCommonChannel(Identifier channelName) { return channelName.equals(REGISTER_CHANNEL) || channelName.equals(UNREGISTER_CHANNEL); diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/RegistrationPayload.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/RegistrationPayload.java index e8bee3f0d..e498eb41e 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/RegistrationPayload.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/impl/networking/RegistrationPayload.java @@ -77,7 +77,7 @@ public record RegistrationPayload(Id<RegistrationPayload> id, List<Identifier> c String literal = sb.toString(); try { - ids.add(new Identifier(literal)); + ids.add(Identifier.of(literal)); } catch (InvalidIdentifierException ex) { NetworkingImpl.LOGGER.warn("Received invalid channel identifier \"{}\"", literal); } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientConnectionMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientConnectionMixin.java index 3fdd1c4de..8b5fcae17 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientConnectionMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientConnectionMixin.java @@ -99,7 +99,7 @@ abstract class ClientConnectionMixin implements ChannelInfoHolder { } } - @Inject(method = "handleDisconnection", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/listener/PacketListener;onDisconnected(Lnet/minecraft/text/Text;)V")) + @Inject(method = "handleDisconnection", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/listener/PacketListener;onDisconnected(Lnet/minecraft/class_9812;)V")) private void disconnectAddon(CallbackInfo ci) { if (packetListener instanceof NetworkHandlerExtensions extension) { extension.getAddon().handleDisconnect(); diff --git a/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/CommonPacketTests.java b/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/CommonPacketTests.java index f5a1a1a73..ca9b201a4 100644 --- a/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/CommonPacketTests.java +++ b/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/CommonPacketTests.java @@ -96,7 +96,7 @@ public class CommonPacketTests { } private record TestPayload(String data) implements CustomPayload { - static final CustomPayload.Id<TestPayload> ID = new CustomPayload.Id<>(new Identifier("fabric", "global_client")); + static final CustomPayload.Id<TestPayload> ID = new CustomPayload.Id<>(Identifier.of("fabric", "global_client")); static final PacketCodec<RegistryByteBuf, TestPayload> CODEC = CustomPayload.codecOf(TestPayload::write, TestPayload::new); TestPayload(RegistryByteBuf buf) { @@ -236,20 +236,20 @@ public class CommonPacketTests { PacketByteBuf buf = PacketByteBufs.create(); buf.writeVarInt(1); // Version buf.writeString("play"); // Target phase - buf.writeCollection(List.of(new Identifier("fabric", "test")), PacketByteBuf::writeIdentifier); + buf.writeCollection(List.of(Identifier.of("fabric", "test")), PacketByteBuf::writeIdentifier); CommonRegisterPayload payload = CommonRegisterPayload.CODEC.decode(buf); packetHandler.receive(payload, clientContext); // Assert the entire packet was read assertEquals(0, buf.readableBytes()); - assertIterableEquals(List.of(new Identifier("fabric", "test")), channelInfoHolder.fabric_getPendingChannelsNames(NetworkPhase.PLAY)); + assertIterableEquals(List.of(Identifier.of("fabric", "test")), channelInfoHolder.fabric_getPendingChannelsNames(NetworkPhase.PLAY)); // Check the response we are sending back to the server PacketByteBuf response = readResponse(packetSender, REGISTER_PAYLOAD_TYPE); assertEquals(1, response.readVarInt()); assertEquals("play", response.readString()); - assertIterableEquals(List.of(new Identifier("fabric", "global_client")), response.readCollection(HashSet::new, PacketByteBuf::readIdentifier)); + assertIterableEquals(List.of(Identifier.of("fabric", "global_client")), response.readCollection(HashSet::new, PacketByteBuf::readIdentifier)); assertEquals(0, response.readableBytes()); } @@ -260,13 +260,13 @@ public class CommonPacketTests { assertNotNull(packetHandler); when(clientAddon.getNegotiatedVersion()).thenReturn(1); - when(clientAddon.createRegisterPayload()).thenAnswer(i -> new CommonRegisterPayload(1, "configuration", Set.of(new Identifier("fabric", "global_configuration_client")))); + when(clientAddon.createRegisterPayload()).thenAnswer(i -> new CommonRegisterPayload(1, "configuration", Set.of(Identifier.of("fabric", "global_configuration_client")))); // Receive a packet from the server PacketByteBuf buf = PacketByteBufs.create(); buf.writeVarInt(1); // Version buf.writeString("configuration"); // Target phase - buf.writeCollection(List.of(new Identifier("fabric", "test")), PacketByteBuf::writeIdentifier); + buf.writeCollection(List.of(Identifier.of("fabric", "test")), PacketByteBuf::writeIdentifier); CommonRegisterPayload payload = CommonRegisterPayload.CODEC.decode(buf); packetHandler.receive(payload, clientContext); @@ -279,7 +279,7 @@ public class CommonPacketTests { PacketByteBuf response = readResponse(packetSender, REGISTER_PAYLOAD_TYPE); assertEquals(1, response.readVarInt()); assertEquals("configuration", response.readString()); - assertIterableEquals(List.of(new Identifier("fabric", "global_configuration_client")), response.readCollection(HashSet::new, PacketByteBuf::readIdentifier)); + assertIterableEquals(List.of(Identifier.of("fabric", "global_configuration_client")), response.readCollection(HashSet::new, PacketByteBuf::readIdentifier)); assertEquals(0, response.readableBytes()); } @@ -295,14 +295,14 @@ public class CommonPacketTests { PacketByteBuf buf = PacketByteBufs.create(); buf.writeVarInt(1); // Version buf.writeString("play"); // Target phase - buf.writeCollection(List.of(new Identifier("fabric", "test")), PacketByteBuf::writeIdentifier); + buf.writeCollection(List.of(Identifier.of("fabric", "test")), PacketByteBuf::writeIdentifier); CommonRegisterPayload payload = CommonRegisterPayload.CODEC.decode(buf); packetHandler.receive(payload, serverContext); // Assert the entire packet was read assertEquals(0, buf.readableBytes()); - assertIterableEquals(List.of(new Identifier("fabric", "test")), channelInfoHolder.fabric_getPendingChannelsNames(NetworkPhase.PLAY)); + assertIterableEquals(List.of(Identifier.of("fabric", "test")), channelInfoHolder.fabric_getPendingChannelsNames(NetworkPhase.PLAY)); } // Test handing the configuration registry packet on the server configuration handler @@ -317,7 +317,7 @@ public class CommonPacketTests { PacketByteBuf buf = PacketByteBufs.create(); buf.writeVarInt(1); // Version buf.writeString("configuration"); // Target phase - buf.writeCollection(List.of(new Identifier("fabric", "test")), PacketByteBuf::writeIdentifier); + buf.writeCollection(List.of(Identifier.of("fabric", "test")), PacketByteBuf::writeIdentifier); CommonRegisterPayload payload = CommonRegisterPayload.CODEC.decode(buf); packetHandler.receive(payload, serverContext); diff --git a/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/PayloadTypeRegistryTests.java b/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/PayloadTypeRegistryTests.java index 60032215a..76a8819fc 100644 --- a/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/PayloadTypeRegistryTests.java +++ b/fabric-networking-api-v1/src/test/java/net/fabricmc/fabric/test/networking/unit/PayloadTypeRegistryTests.java @@ -31,6 +31,7 @@ import net.minecraft.network.codec.PacketCodecs; import net.minecraft.network.packet.CustomPayload; import net.minecraft.network.packet.c2s.common.CustomPayloadC2SPacket; import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket; +import net.minecraft.util.Identifier; import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; @@ -113,7 +114,7 @@ public class PayloadTypeRegistryTests { } private record C2SPlayPayload(String value) implements CustomPayload { - public static final CustomPayload.Id<C2SPlayPayload> ID = CustomPayload.id("fabric:c2s_play"); + public static final CustomPayload.Id<C2SPlayPayload> ID = new Id<>(Identifier.of("fabric:c2s_play")); public static final PacketCodec<RegistryByteBuf, C2SPlayPayload> CODEC = PacketCodecs.STRING.xmap(C2SPlayPayload::new, C2SPlayPayload::value).cast(); @Override @@ -123,7 +124,7 @@ public class PayloadTypeRegistryTests { } private record S2CPlayPayload(String value) implements CustomPayload { - public static final CustomPayload.Id<S2CPlayPayload> ID = CustomPayload.id("fabric:s2c_play"); + public static final CustomPayload.Id<S2CPlayPayload> ID = new Id<>(Identifier.of("fabric:s2c_play")); public static final PacketCodec<RegistryByteBuf, S2CPlayPayload> CODEC = PacketCodecs.STRING.xmap(S2CPlayPayload::new, S2CPlayPayload::value).cast(); @Override @@ -133,7 +134,7 @@ public class PayloadTypeRegistryTests { } private record C2SConfigPayload(String value) implements CustomPayload { - public static final CustomPayload.Id<C2SConfigPayload> ID = CustomPayload.id("fabric:c2s_config"); + public static final CustomPayload.Id<C2SConfigPayload> ID = new Id<>(Identifier.of("fabric:c2s_config")); public static final PacketCodec<PacketByteBuf, C2SConfigPayload> CODEC = PacketCodecs.STRING.xmap(C2SConfigPayload::new, C2SConfigPayload::value).cast(); @Override @@ -143,7 +144,7 @@ public class PayloadTypeRegistryTests { } private record S2CConfigPayload(String value) implements CustomPayload { - public static final CustomPayload.Id<S2CConfigPayload> ID = CustomPayload.id("fabric:s2c_config"); + public static final CustomPayload.Id<S2CConfigPayload> ID = new Id<>(Identifier.of("fabric:s2c_config")); public static final PacketCodec<PacketByteBuf, S2CConfigPayload> CODEC = PacketCodecs.STRING.xmap(S2CConfigPayload::new, S2CConfigPayload::value).cast(); @Override diff --git a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/NetworkingTestmods.java b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/NetworkingTestmods.java index 280e7bfc8..2c6af1889 100644 --- a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/NetworkingTestmods.java +++ b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/NetworkingTestmods.java @@ -26,7 +26,7 @@ public final class NetworkingTestmods { public static final Logger LOGGER = LoggerFactory.getLogger(ID); public static Identifier id(String name) { - return new Identifier(ID, name); + return Identifier.of(ID, name); } private NetworkingTestmods() { diff --git a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/common/NetworkingCommonTest.java b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/common/NetworkingCommonTest.java index 6bea5a7e0..a312cd6ca 100644 --- a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/common/NetworkingCommonTest.java +++ b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/common/NetworkingCommonTest.java @@ -36,6 +36,7 @@ import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.fabric.test.networking.NetworkingTestmods; public class NetworkingCommonTest implements ModInitializer { + private boolean firstLoad = true; private List<String> receivedPlay = new ArrayList<>(); private List<String> receivedConfig = new ArrayList<>(); @@ -57,6 +58,13 @@ public class NetworkingCommonTest implements ModInitializer { // Ensure that the packets were received on the server ServerEntityEvents.ENTITY_LOAD.register((entity, world) -> { + if (!firstLoad) { + // No need to check again if the player changes dimensions + return; + } + + firstLoad = false; + if (entity instanceof ServerPlayerEntity player) { final String uuid = player.getUuidAsString(); diff --git a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/configuration/NetworkingConfigurationTest.java b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/configuration/NetworkingConfigurationTest.java index 5191d1e99..d84f81933 100644 --- a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/configuration/NetworkingConfigurationTest.java +++ b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/configuration/NetworkingConfigurationTest.java @@ -57,7 +57,7 @@ public class NetworkingConfigurationTest implements ModInitializer { } public record TestConfigurationTask(String data) implements ServerPlayerConfigurationTask { - public static final Key KEY = new Key(new Identifier(NetworkingTestmods.ID, "configure").toString()); + public static final Key KEY = new Key(Identifier.of(NetworkingTestmods.ID, "configure").toString()); @Override public void sendPacket(Consumer<Packet<?>> sender) { @@ -72,7 +72,7 @@ public class NetworkingConfigurationTest implements ModInitializer { } public record ConfigurationPacket(String data) implements CustomPayload { - public static final CustomPayload.Id<ConfigurationPacket> ID = new Id<>(new Identifier(NetworkingTestmods.ID, "configure")); + public static final CustomPayload.Id<ConfigurationPacket> ID = new Id<>(Identifier.of(NetworkingTestmods.ID, "configure")); public static final PacketCodec<PacketByteBuf, ConfigurationPacket> CODEC = CustomPayload.codecOf(ConfigurationPacket::write, ConfigurationPacket::new); public ConfigurationPacket(PacketByteBuf buf) { @@ -91,7 +91,7 @@ public class NetworkingConfigurationTest implements ModInitializer { public static class ConfigurationCompletePacket implements CustomPayload { public static final ConfigurationCompletePacket INSTANCE = new ConfigurationCompletePacket(); - public static final CustomPayload.Id<ConfigurationCompletePacket> ID = new Id<>(new Identifier(NetworkingTestmods.ID, "configure_complete")); + public static final CustomPayload.Id<ConfigurationCompletePacket> ID = new Id<>(Identifier.of(NetworkingTestmods.ID, "configure_complete")); public static final PacketCodec<PacketByteBuf, ConfigurationCompletePacket> CODEC = PacketCodec.unit(INSTANCE); private ConfigurationCompletePacket() { diff --git a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/EntityModelLayersMixin.java b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/EntityModelLayersMixin.java index 4003cfad1..295ccb2e5 100644 --- a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/EntityModelLayersMixin.java +++ b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/EntityModelLayersMixin.java @@ -31,16 +31,16 @@ public class EntityModelLayersMixin { @Inject(method = "createSign", at = @At("HEAD"), cancellable = true) private static void createSign(WoodType type, CallbackInfoReturnable<EntityModelLayer> cir) { if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { - Identifier identifier = new Identifier(type.name()); - cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "sign/" + identifier.getPath()), "main")); + Identifier identifier = Identifier.of(type.name()); + cir.setReturnValue(new EntityModelLayer(Identifier.of(identifier.getNamespace(), "sign/" + identifier.getPath()), "main")); } } @Inject(method = "createHangingSign", at = @At("HEAD"), cancellable = true) private static void createHangingSign(WoodType type, CallbackInfoReturnable<EntityModelLayer> cir) { if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { - Identifier identifier = new Identifier(type.name()); - cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "hanging_sign/" + identifier.getPath()), "main")); + Identifier identifier = Identifier.of(type.name()); + cir.setReturnValue(new EntityModelLayer(Identifier.of(identifier.getNamespace(), "hanging_sign/" + identifier.getPath()), "main")); } } } diff --git a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java index 782ccbfe0..5cbff8c05 100644 --- a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java +++ b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java @@ -16,9 +16,10 @@ package net.fabricmc.fabric.mixin.object.builder.client; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyArg; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; @@ -31,13 +32,13 @@ public abstract class HangingSignEditScreenMixin extends AbstractSignEditScreen super(blockEntity, filtered, bl); } - @ModifyArg(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;<init>(Ljava/lang/String;)V")) - private String init(String id) { + @WrapOperation(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;ofDefaultNamespace(Ljava/lang/String;)Lnet/minecraft/util/Identifier;")) + private Identifier init(String id, Operation<Identifier> original) { if (signType.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { - Identifier identifier = new Identifier(signType.name()); - return identifier.getNamespace() + ":textures/gui/hanging_signs/" + identifier.getPath() + ".png"; + Identifier identifier = Identifier.of(signType.name()); + return Identifier.of(identifier.getNamespace(), "textures/gui/hanging_signs/" + identifier.getPath() + ".png"); } - return id; + return original.call(id); } } diff --git a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/TexturedRenderLayersMixin.java b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/TexturedRenderLayersMixin.java index 9a742b1ac..c22d5a11d 100644 --- a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/TexturedRenderLayersMixin.java +++ b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/TexturedRenderLayersMixin.java @@ -37,16 +37,16 @@ public class TexturedRenderLayersMixin { @Inject(method = "createSignTextureId", at = @At("HEAD"), cancellable = true) private static void modifyTextureId(WoodType type, CallbackInfoReturnable<SpriteIdentifier> cir) { if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { - Identifier identifier = new Identifier(type.name()); - cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/" + identifier.getPath()))); + Identifier identifier = Identifier.of(type.name()); + cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, Identifier.of(identifier.getNamespace(), "entity/signs/" + identifier.getPath()))); } } @Inject(method = "createHangingSignTextureId", at = @At("HEAD"), cancellable = true) private static void modifyHangingTextureId(WoodType type, CallbackInfoReturnable<SpriteIdentifier> cir) { if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { - Identifier identifier = new Identifier(type.name()); - cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/hanging/" + identifier.getPath()))); + Identifier identifier = Identifier.of(type.name()); + cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, Identifier.of(identifier.getNamespace(), "entity/signs/hanging/" + identifier.getPath()))); } } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java index e630abc8c..8daac0d5f 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java @@ -137,21 +137,21 @@ public final class TradeOfferHelper { * <p>In vanilla, this pool contains offers to buy water buckets, baked potatoes, etc. * for emeralds. */ - Identifier BUY_ITEMS_POOL = new Identifier("minecraft", "buy_items"); + Identifier BUY_ITEMS_POOL = Identifier.ofDefaultNamespace("buy_items"); /** * The pool ID for the "sell special items" pool. * Two trade offers are picked from this pool. * * <p>In vanilla, this pool contains offers to sell logs, enchanted iron pickaxes, etc. */ - Identifier SELL_SPECIAL_ITEMS_POOL = new Identifier("minecraft", "sell_special_items"); + Identifier SELL_SPECIAL_ITEMS_POOL = Identifier.ofDefaultNamespace("sell_special_items"); /** * The pool ID for the "sell common items" pool. * Five trade offers are picked from this pool. * * <p>In vanilla, this pool contains offers to sell flowers, saplings, etc. */ - Identifier SELL_COMMON_ITEMS_POOL = new Identifier("minecraft", "sell_common_items"); + Identifier SELL_COMMON_ITEMS_POOL = Identifier.ofDefaultNamespace("sell_common_items"); /** * Adds a new pool to the offer list. Exactly {@code count} offers are picked from diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/AbstractBlockSettingsAccessor.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/AbstractBlockSettingsAccessor.java index 0960cd2e7..419f56331 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/AbstractBlockSettingsAccessor.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/AbstractBlockSettingsAccessor.java @@ -16,7 +16,6 @@ package net.fabricmc.fabric.mixin.object.builder; -import java.util.Optional; import java.util.function.Function; import java.util.function.ToIntFunction; @@ -98,7 +97,7 @@ public interface AbstractBlockSettingsAccessor { AbstractBlock.ContextPredicate getEmissiveLightingPredicate(); @Accessor - Optional<AbstractBlock.Offsetter> getOffsetter(); + AbstractBlock.Offsetter getOffsetter(); @Accessor RegistryKey<LootTable> getLootTableKey(); @@ -162,7 +161,7 @@ public interface AbstractBlockSettingsAccessor { void setRequiredFeatures(FeatureSet requiredFeatures); @Accessor - void setOffsetter(Optional<AbstractBlock.Offsetter> offsetter); + void setOffsetter(AbstractBlock.Offsetter offsetter); @Accessor void setBurnable(boolean burnable); diff --git a/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/ObjectBuilderTestConstants.java b/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/ObjectBuilderTestConstants.java index 594d35107..4ab50d8f1 100644 --- a/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/ObjectBuilderTestConstants.java +++ b/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/ObjectBuilderTestConstants.java @@ -26,6 +26,6 @@ public final class ObjectBuilderTestConstants { public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); public static Identifier id(String name) { - return new Identifier(MOD_ID, name); + return Identifier.of(MOD_ID, name); } } diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/api/particle/v1/FabricParticleTypes.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/api/particle/v1/FabricParticleTypes.java index e39aa1988..40700c1ce 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/api/particle/v1/FabricParticleTypes.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/api/particle/v1/FabricParticleTypes.java @@ -37,8 +37,8 @@ import net.minecraft.particle.SimpleParticleType; * * {@literal @}Override * public void onInitialize() { - * Registry.register(Registry.PARTICLE_TYPE, new Identifier("testmod", "simple"), SIMPLE_TEST_PARTICLE); - * Registry.register(Registry.PARTICLE_TYPE, new Identifier("testmod", "custom"), CUSTOM_TEST_PARTICLE); + * Registry.register(Registry.PARTICLE_TYPE, Identifier.of("testmod", "simple"), SIMPLE_TEST_PARTICLE); + * Registry.register(Registry.PARTICLE_TYPE, Identifier.of("testmod", "custom"), CUSTOM_TEST_PARTICLE); * }} * </pre> * </blockquote> diff --git a/fabric-particles-v1/src/testmod/java/net/fabricmc/fabric/test/particle/ParticleTestSetup.java b/fabric-particles-v1/src/testmod/java/net/fabricmc/fabric/test/particle/ParticleTestSetup.java index dc6b92fe1..0d658fd65 100644 --- a/fabric-particles-v1/src/testmod/java/net/fabricmc/fabric/test/particle/ParticleTestSetup.java +++ b/fabric-particles-v1/src/testmod/java/net/fabricmc/fabric/test/particle/ParticleTestSetup.java @@ -58,7 +58,7 @@ public final class ParticleTestSetup implements ModInitializer { } private static void registerBlock(String path, Block block) { - Identifier id = new Identifier("fabric-particles-v1-testmod", path); + Identifier id = Identifier.of("fabric-particles-v1-testmod", path); Registry.register(Registries.BLOCK, id, block); Registry.register(Registries.ITEM, id, new BlockItem(block, new Item.Settings())); } diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/CustomIngredientSync.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/CustomIngredientSync.java index e3620677f..92245cc34 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/CustomIngredientSync.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/CustomIngredientSync.java @@ -46,7 +46,7 @@ import net.fabricmc.fabric.mixin.recipe.ingredient.EncoderHandlerMixin; * </ul> */ public class CustomIngredientSync implements ModInitializer { - public static final Identifier PACKET_ID = new Identifier("fabric", "custom_ingredient_sync"); + public static final Identifier PACKET_ID = Identifier.of("fabric", "custom_ingredient_sync"); public static final int PROTOCOL_VERSION_1 = 1; public static final ThreadLocal<Set<Identifier>> CURRENT_SUPPORTED_INGREDIENTS = new ThreadLocal<>(); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AllIngredient.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AllIngredient.java index 4fe4694cb..1602376df 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AllIngredient.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AllIngredient.java @@ -41,7 +41,7 @@ public class AllIngredient extends CombinedIngredient { } public static final CustomIngredientSerializer<AllIngredient> SERIALIZER = - new Serializer<>(new Identifier("fabric", "all"), AllIngredient::new, ALLOW_EMPTY_CODEC, DISALLOW_EMPTY_CODEC); + new Serializer<>(Identifier.of("fabric", "all"), AllIngredient::new, ALLOW_EMPTY_CODEC, DISALLOW_EMPTY_CODEC); public AllIngredient(List<Ingredient> ingredients) { super(ingredients); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AnyIngredient.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AnyIngredient.java index 82a741baf..4c808ebbf 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AnyIngredient.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/AnyIngredient.java @@ -41,7 +41,7 @@ public class AnyIngredient extends CombinedIngredient { } public static final CustomIngredientSerializer<AnyIngredient> SERIALIZER = - new CombinedIngredient.Serializer<>(new Identifier("fabric", "any"), AnyIngredient::new, ALLOW_EMPTY_CODEC, DISALLOW_EMPTY_CODEC); + new CombinedIngredient.Serializer<>(Identifier.of("fabric", "any"), AnyIngredient::new, ALLOW_EMPTY_CODEC, DISALLOW_EMPTY_CODEC); public AnyIngredient(List<Ingredient> ingredients) { super(ingredients); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/ComponentsIngredient.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/ComponentsIngredient.java index 03eeb1235..210551ec3 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/ComponentsIngredient.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/ComponentsIngredient.java @@ -116,7 +116,7 @@ public class ComponentsIngredient implements CustomIngredient { } private static class Serializer implements CustomIngredientSerializer<ComponentsIngredient> { - private static final Identifier ID = new Identifier("fabric", "components"); + private static final Identifier ID = Identifier.of("fabric", "components"); private static final MapCodec<ComponentsIngredient> ALLOW_EMPTY_CODEC = createCodec(Ingredient.ALLOW_EMPTY_CODEC); private static final MapCodec<ComponentsIngredient> DISALLOW_EMPTY_CODEC = createCodec(Ingredient.DISALLOW_EMPTY_CODEC); private static final PacketCodec<RegistryByteBuf, ComponentsIngredient> PACKET_CODEC = PacketCodec.tuple( diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/CustomDataIngredient.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/CustomDataIngredient.java index 8a8f9786e..752504152 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/CustomDataIngredient.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/CustomDataIngredient.java @@ -89,7 +89,7 @@ public class CustomDataIngredient implements CustomIngredient { } private static class Serializer implements CustomIngredientSerializer<CustomDataIngredient> { - private static final Identifier ID = new Identifier("fabric", "custom_data"); + private static final Identifier ID = Identifier.of("fabric", "custom_data"); private static final MapCodec<CustomDataIngredient> ALLOW_EMPTY_CODEC = createCodec(Ingredient.ALLOW_EMPTY_CODEC); private static final MapCodec<CustomDataIngredient> DISALLOW_EMPTY_CODEC = createCodec(Ingredient.DISALLOW_EMPTY_CODEC); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/DifferenceIngredient.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/DifferenceIngredient.java index cb39f28c9..2b438435d 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/DifferenceIngredient.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/impl/recipe/ingredient/builtin/DifferenceIngredient.java @@ -74,7 +74,7 @@ public class DifferenceIngredient implements CustomIngredient { } private static class Serializer implements CustomIngredientSerializer<DifferenceIngredient> { - private static final Identifier ID = new Identifier("fabric", "difference"); + private static final Identifier ID = Identifier.of("fabric", "difference"); private static final MapCodec<DifferenceIngredient> ALLOW_EMPTY_CODEC = createCodec(Ingredient.ALLOW_EMPTY_CODEC); private static final MapCodec<DifferenceIngredient> DISALLOW_EMPTY_CODEC = createCodec(Ingredient.DISALLOW_EMPTY_CODEC); private static final PacketCodec<RegistryByteBuf, DifferenceIngredient> PACKET_CODEC = PacketCodec.tuple( diff --git a/fabric-recipe-api-v1/src/testmod/java/net/fabricmc/fabric/test/recipe/ingredient/ShapelessRecipeMatchTests.java b/fabric-recipe-api-v1/src/testmod/java/net/fabricmc/fabric/test/recipe/ingredient/ShapelessRecipeMatchTests.java index af7ce0ae0..9832a6794 100644 --- a/fabric-recipe-api-v1/src/testmod/java/net/fabricmc/fabric/test/recipe/ingredient/ShapelessRecipeMatchTests.java +++ b/fabric-recipe-api-v1/src/testmod/java/net/fabricmc/fabric/test/recipe/ingredient/ShapelessRecipeMatchTests.java @@ -37,7 +37,7 @@ public class ShapelessRecipeMatchTests { */ @GameTest(templateName = FabricGameTest.EMPTY_STRUCTURE) public void testShapelessMatch(TestContext context) { - Identifier recipeId = new Identifier("fabric-recipe-api-v1-testmod", "test_shapeless_match"); + Identifier recipeId = Identifier.of("fabric-recipe-api-v1-testmod", "test_shapeless_match"); ShapelessRecipe recipe = (ShapelessRecipe) context.getWorld().getRecipeManager().get(recipeId).get().value(); ItemStack undamagedPickaxe = new ItemStack(Items.DIAMOND_PICKAXE); diff --git a/fabric-recipe-api-v1/src/testmod/resources/data/fabric-recipe-api-v1-testmod/recipes/test_shapeless_match.json b/fabric-recipe-api-v1/src/testmod/resources/data/fabric-recipe-api-v1-testmod/recipe/test_shapeless_match.json similarity index 100% rename from fabric-recipe-api-v1/src/testmod/resources/data/fabric-recipe-api-v1-testmod/recipes/test_shapeless_match.json rename to fabric-recipe-api-v1/src/testmod/resources/data/fabric-recipe-api-v1-testmod/recipe/test_shapeless_match.json diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java index 628d6adad..8846770b2 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java @@ -58,7 +58,7 @@ import net.fabricmc.fabric.impl.registry.sync.DynamicRegistriesImpl; * // @link region substring=RegistryKey target=RegistryKey * // @link region substring=ofRegistry target="RegistryKey#ofRegistry" * // @link region substring=Identifier target="net.minecraft.util.Identifier#Identifier(String, String)" - * public static final RegistryKey<Registry<MyData>> MY_DATA_KEY = RegistryKey.ofRegistry(new Identifier("my_mod", "my_data")); + * public static final RegistryKey<Registry<MyData>> MY_DATA_KEY = RegistryKey.ofRegistry(Identifier.of("my_mod", "my_data")); * // @end @end @end * * // Option 1: Register a non-synced registry diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/FabricRegistryBuilder.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/FabricRegistryBuilder.java index e36759944..4acf902b9 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/FabricRegistryBuilder.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/FabricRegistryBuilder.java @@ -38,7 +38,7 @@ import net.fabricmc.fabric.mixin.registry.sync.RegistriesAccessor; * * <pre> * {@code - * RegistryKey<Registry<String>> registryKey = RegistryKey.ofRegistry(new Identifier("modid", "registry_name")); + * RegistryKey<Registry<String>> registryKey = RegistryKey.ofRegistry(Identifier.of("modid", "registry_name")); * Registry<String> registry = FabricRegistryBuilder.createSimple(registryKey) * .attribute(RegistryAttribute.SYNCED) * .buildAndRegister(); diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistryMapSerializer.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistryMapSerializer.java index 96145c25c..2270d21cc 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistryMapSerializer.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistryMapSerializer.java @@ -37,10 +37,10 @@ public class RegistryMapSerializer { NbtCompound idNbt = mainNbt.getCompound(registryId); for (String id : idNbt.getKeys()) { - idMap.put(new Identifier(id), idNbt.getInt(id)); + idMap.put(Identifier.of(id), idNbt.getInt(id)); } - map.put(new Identifier(registryId), idMap); + map.put(Identifier.of(registryId), idMap); } return map; diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/SyncCompletePayload.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/SyncCompletePayload.java index cde42b9ea..4c458839a 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/SyncCompletePayload.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/SyncCompletePayload.java @@ -23,7 +23,7 @@ import net.minecraft.util.Identifier; public class SyncCompletePayload implements CustomPayload { public static final SyncCompletePayload INSTANCE = new SyncCompletePayload(); - public static final CustomPayload.Id<SyncCompletePayload> ID = new CustomPayload.Id<>(new Identifier("fabric", "registry/sync/complete")); + public static final CustomPayload.Id<SyncCompletePayload> ID = new CustomPayload.Id<>(Identifier.of("fabric", "registry/sync/complete")); public static final PacketCodec<PacketByteBuf, SyncCompletePayload> CODEC = PacketCodec.unit(INSTANCE); private SyncCompletePayload() { } diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/packet/DirectRegistryPacketHandler.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/packet/DirectRegistryPacketHandler.java index a42e32497..9a4c4dfc6 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/packet/DirectRegistryPacketHandler.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/packet/DirectRegistryPacketHandler.java @@ -207,14 +207,14 @@ public class DirectRegistryPacketHandler extends RegistryPacketHandler<DirectReg for (int m = 0; m < bulkSize; m++) { currentRawId++; String idPath = combinedBuf.readString(); - idMap.put(new Identifier(idNamespace, idPath), currentRawId); + idMap.put(Identifier.of(idNamespace, idPath), currentRawId); } lastBulkLastRawId = currentRawId; } } - syncedRegistryMap.put(new Identifier(regNamespace, regPath), idMap); + syncedRegistryMap.put(Identifier.of(regNamespace, regPath), idMap); } } @@ -261,7 +261,7 @@ public class DirectRegistryPacketHandler extends RegistryPacketHandler<DirectReg } public record Payload(byte[] data) implements RegistrySyncPayload { - public static CustomPayload.Id<Payload> ID = new Id<>(new Identifier("fabric", "registry/sync/direct")); + public static CustomPayload.Id<Payload> ID = new Id<>(Identifier.of("fabric", "registry/sync/direct")); public static PacketCodec<PacketByteBuf, Payload> CODEC = CustomPayload.codecOf(Payload::write, Payload::new); Payload(PacketByteBuf buf) { diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistryLoaderMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistryLoaderMixin.java index 1247bc1c8..526021b3c 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistryLoaderMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistryLoaderMixin.java @@ -81,12 +81,24 @@ public class RegistryLoaderMixin { // Vanilla doesn't mark namespaces in the directories of dynamic registries at all, // so we prepend the directories with the namespace if it's a modded registry registered using the Fabric API. - @Inject(method = "getPath", at = @At("RETURN"), cancellable = true) - private static void prependDirectoryWithNamespace(Identifier id, CallbackInfoReturnable<String> info) { + @WrapOperation( + method = { + "loadFromNetwork(Ljava/util/Map;Lnet/minecraft/resource/ResourceFactory;Lnet/minecraft/registry/RegistryOps$RegistryInfoGetter;Lnet/minecraft/registry/MutableRegistry;Lcom/mojang/serialization/Decoder;Ljava/util/Map;)V", + "loadFromResource(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/registry/RegistryOps$RegistryInfoGetter;Lnet/minecraft/registry/MutableRegistry;Lcom/mojang/serialization/Decoder;Ljava/util/Map;)V" + }, + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/registry/RegistryKeys;getPath(Lnet/minecraft/registry/RegistryKey;)Ljava/lang/String;" + ) + ) + private static String prependDirectoryWithNamespace(RegistryKey<? extends Registry<?>> registryKey, Operation<String> original) { + String originalDirectory = original.call(registryKey); + Identifier id = registryKey.getValue(); if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE) - && DynamicRegistriesImpl.FABRIC_DYNAMIC_REGISTRY_KEYS.contains(RegistryKey.ofRegistry(id))) { - final String newPath = id.getNamespace() + "/" + info.getReturnValue(); - info.setReturnValue(newPath); + && DynamicRegistriesImpl.FABRIC_DYNAMIC_REGISTRY_KEYS.contains(registryKey)) { + return id.getNamespace() + "/" + originalDirectory; } + + return originalDirectory; } } diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/TagManagerLoaderMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/TagManagerLoaderMixin.java index 312976553..b68772797 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/TagManagerLoaderMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/TagManagerLoaderMixin.java @@ -16,10 +16,10 @@ package net.fabricmc.fabric.mixin.registry.sync; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; @@ -29,15 +29,23 @@ import net.minecraft.util.Identifier; // Adds namespaces to tag directories for registries added by mods. @Mixin(TagManagerLoader.class) abstract class TagManagerLoaderMixin { - @Inject(method = "getPath", at = @At("HEAD"), cancellable = true) - private static void onGetPath(RegistryKey<? extends Registry<?>> registry, CallbackInfoReturnable<String> info) { - Identifier id = registry.getValue(); + @WrapOperation( + method = "buildRequiredGroup", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/registry/RegistryKeys;getTagPath(Lnet/minecraft/registry/RegistryKey;)Ljava/lang/String;" + ) + ) + private String prependDirectoryWithNamespace(RegistryKey<? extends Registry<?>> registryKey, Operation<String> original) { + Identifier id = registryKey.getValue(); // Vanilla doesn't mark namespaces in the directories of tags at all, // so we prepend the directories with the namespace if it's a modded registry id. // No need to check DIRECTORIES, since this is only used by vanilla registries. if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { - info.setReturnValue("tags/" + id.getNamespace() + "/" + id.getPath()); + return "tags/" + id.getNamespace() + "/" + id.getPath(); } + + return original.call(registryKey); } } diff --git a/fabric-registry-sync-v0/src/test/java/net/fabricmc/fabric/test/registry/sync/DirectRegistryPacketHandlerTest.java b/fabric-registry-sync-v0/src/test/java/net/fabricmc/fabric/test/registry/sync/DirectRegistryPacketHandlerTest.java index 275a09fee..8f6051b9e 100644 --- a/fabric-registry-sync-v0/src/test/java/net/fabricmc/fabric/test/registry/sync/DirectRegistryPacketHandlerTest.java +++ b/fabric-registry-sync-v0/src/test/java/net/fabricmc/fabric/test/registry/sync/DirectRegistryPacketHandlerTest.java @@ -56,7 +56,7 @@ public class DirectRegistryPacketHandlerTest { DirectRegistryPacketHandler handler = new DirectRegistryPacketHandler(); Map<Identifier, Object2IntMap<Identifier>> registry = new HashMap<>(); - registry.put(new Identifier("test"), createRegistry(150)); + registry.put(Identifier.of("test"), createRegistry(150)); var payloads = new ArrayList<DirectRegistryPacketHandler.Payload>(); handler.sendPacket(payloads::add, registry); @@ -78,7 +78,7 @@ public class DirectRegistryPacketHandlerTest { Map<Identifier, Object2IntMap<Identifier>> registry = new HashMap<>(); for (int i = 0; i < 50; i++) { - registry.put(new Identifier("test", "namespace_" + i), createRegistry(15000)); + registry.put(Identifier.of("test", "namespace_" + i), createRegistry(15000)); } var payloads = new ArrayList<DirectRegistryPacketHandler.Payload>(); @@ -100,7 +100,7 @@ public class DirectRegistryPacketHandlerTest { Object2IntMap<Identifier> entries = new Object2IntOpenHashMap<>(); for (int i = 0; i < size; i++) { - entries.put(new Identifier("test", "entry_" + i), i); + entries.put(Identifier.of("test", "entry_" + i), i); } return entries; diff --git a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/CustomDynamicRegistryTest.java b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/CustomDynamicRegistryTest.java index 9c65270c2..ae20a4727 100644 --- a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/CustomDynamicRegistryTest.java +++ b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/CustomDynamicRegistryTest.java @@ -35,20 +35,20 @@ public final class CustomDynamicRegistryTest implements ModInitializer { private static final Logger LOGGER = LogUtils.getLogger(); public static final RegistryKey<Registry<TestDynamicObject>> TEST_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_dynamic")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_dynamic")); public static final RegistryKey<Registry<TestNestedDynamicObject>> TEST_NESTED_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_dynamic_nested")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_dynamic_nested")); public static final RegistryKey<Registry<TestDynamicObject>> TEST_SYNCED_1_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_dynamic_synced_1")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_dynamic_synced_1")); public static final RegistryKey<Registry<TestDynamicObject>> TEST_SYNCED_2_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_dynamic_synced_2")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_dynamic_synced_2")); public static final RegistryKey<Registry<TestDynamicObject>> TEST_EMPTY_SYNCED_DYNAMIC_REGISTRY_KEY = - RegistryKey.ofRegistry(new Identifier("fabric", "test_dynamic_synced_empty")); + RegistryKey.ofRegistry(Identifier.of("fabric", "test_dynamic_synced_empty")); private static final RegistryKey<TestDynamicObject> SYNCED_ENTRY_KEY = - RegistryKey.of(TEST_SYNCED_1_DYNAMIC_REGISTRY_KEY, new Identifier("fabric-registry-sync-v0-testmod", "synced")); + RegistryKey.of(TEST_SYNCED_1_DYNAMIC_REGISTRY_KEY, Identifier.of("fabric-registry-sync-v0-testmod", "synced")); private static final TagKey<TestDynamicObject> TEST_DYNAMIC_OBJECT_TAG = - TagKey.of(TEST_SYNCED_1_DYNAMIC_REGISTRY_KEY, new Identifier("fabric-registry-sync-v0-testmod", "test")); + TagKey.of(TEST_SYNCED_1_DYNAMIC_REGISTRY_KEY, Identifier.of("fabric-registry-sync-v0-testmod", "test")); @Override public void onInitialize() { diff --git a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/RegistrySyncTest.java b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/RegistrySyncTest.java index f0e5c0893..3ac540bcc 100644 --- a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/RegistrySyncTest.java +++ b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/RegistrySyncTest.java @@ -80,14 +80,14 @@ public class RegistrySyncTest implements ModInitializer { } } - RegistryKey<Registry<String>> fabricRegistryKey = RegistryKey.ofRegistry(new Identifier("registry_sync", "fabric_registry")); + RegistryKey<Registry<String>> fabricRegistryKey = RegistryKey.ofRegistry(Identifier.of("registry_sync", "fabric_registry")); SimpleRegistry<String> fabricRegistry = FabricRegistryBuilder.createSimple(fabricRegistryKey) .attribute(RegistryAttribute.SYNCED) .buildAndRegister(); - Registry.register(fabricRegistry, new Identifier("registry_sync", "test"), "test"); + Registry.register(fabricRegistry, Identifier.of("registry_sync", "test"), "test"); - Validate.isTrue(Registries.REGISTRIES.getIds().contains(new Identifier("registry_sync", "fabric_registry"))); + Validate.isTrue(Registries.REGISTRIES.getIds().contains(Identifier.of("registry_sync", "fabric_registry"))); Validate.isTrue(RegistryAttributeHolder.get(fabricRegistry).hasAttribute(RegistryAttribute.MODDED)); Validate.isTrue(RegistryAttributeHolder.get(fabricRegistry).hasAttribute(RegistryAttribute.SYNCED)); @@ -155,11 +155,11 @@ public class RegistrySyncTest implements ModInitializer { private static void registerBlocks(String namespace, int amount, int startingId) { for (int i = 0; i < amount; i++) { Block block = new Block(AbstractBlock.Settings.create()); - Registry.register(Registries.BLOCK, new Identifier(namespace, "block_" + (i + startingId)), block); + Registry.register(Registries.BLOCK, Identifier.of(namespace, "block_" + (i + startingId)), block); if (REGISTER_ITEMS) { BlockItem blockItem = new BlockItem(block, new Item.Settings()); - Registry.register(Registries.ITEM, new Identifier(namespace, "block_" + (i + startingId)), blockItem); + Registry.register(Registries.ITEM, Identifier.of(namespace, "block_" + (i + startingId)), blockItem); } } } @@ -168,7 +168,7 @@ public class RegistrySyncTest implements ModInitializer { Object2IntMap<Identifier> map = new Object2IntOpenHashMap<>(); for (int i = 0; i < 12; i++) { - map.put(new Identifier("mod_" + i, "entry"), 0); + map.put(Identifier.of("mod_" + i, "entry"), 0); } return map; diff --git a/fabric-registry-sync-v0/src/testmodClient/java/net/fabricmc/fabric/test/registry/sync/client/DynamicRegistryClientTest.java b/fabric-registry-sync-v0/src/testmodClient/java/net/fabricmc/fabric/test/registry/sync/client/DynamicRegistryClientTest.java index 1308daac4..aaf209dde 100644 --- a/fabric-registry-sync-v0/src/testmodClient/java/net/fabricmc/fabric/test/registry/sync/client/DynamicRegistryClientTest.java +++ b/fabric-registry-sync-v0/src/testmodClient/java/net/fabricmc/fabric/test/registry/sync/client/DynamicRegistryClientTest.java @@ -35,7 +35,7 @@ import net.fabricmc.fabric.test.registry.sync.TestNestedDynamicObject; public final class DynamicRegistryClientTest implements ClientModInitializer { private static final Logger LOGGER = LogUtils.getLogger(); - private static final Identifier SYNCED_ID = new Identifier("fabric-registry-sync-v0-testmod", "synced"); + private static final Identifier SYNCED_ID = Identifier.of("fabric-registry-sync-v0-testmod", "synced"); @Override public void onInitializeClient() { diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/material/RenderMaterial.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/material/RenderMaterial.java index 7697dacce..9fb3991f2 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/material/RenderMaterial.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/material/RenderMaterial.java @@ -73,7 +73,7 @@ public interface RenderMaterial extends MaterialView { * * <p>All standard, non-fluid baked models are rendered using this material. */ - Identifier MATERIAL_STANDARD = new Identifier("fabric", "standard"); + Identifier MATERIAL_STANDARD = Identifier.of("fabric", "standard"); /** * Do not use. Always returns 1. diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/mesh/QuadView.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/mesh/QuadView.java index 28930c2c0..8809ba686 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/mesh/QuadView.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/api/renderer/v1/mesh/QuadView.java @@ -37,7 +37,7 @@ import net.fabricmc.fabric.api.renderer.v1.material.RenderMaterial; */ public interface QuadView { /** Count of integers in a conventional (un-modded) block or item vertex. */ - int VANILLA_VERTEX_STRIDE = VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL.getVertexSizeInteger(); + int VANILLA_VERTEX_STRIDE = VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL.getVertexSizeByte() / 4; /** Count of integers in a conventional (un-modded) block or item quad. */ int VANILLA_QUAD_STRIDE = VANILLA_VERTEX_STRIDE * 4; diff --git a/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/FrameBlockEntity.java b/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/FrameBlockEntity.java index 99246cef7..5b7c351cc 100644 --- a/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/FrameBlockEntity.java +++ b/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/FrameBlockEntity.java @@ -45,7 +45,7 @@ public class FrameBlockEntity extends BlockEntity implements RenderDataBlockEnti super.readNbt(tag, wrapperLookup); if (tag.contains("block", NbtElement.STRING_TYPE)) { - this.block = Registries.BLOCK.get(new Identifier(tag.getString("block"))); + this.block = Registries.BLOCK.get(Identifier.of(tag.getString("block"))); } else { this.block = null; } diff --git a/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/RendererTest.java b/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/RendererTest.java index cab675940..402bdd70f 100644 --- a/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/RendererTest.java +++ b/fabric-renderer-api-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/RendererTest.java @@ -49,6 +49,6 @@ public final class RendererTest implements ModInitializer { } public static Identifier id(String path) { - return new Identifier("fabric-renderer-api-v1-testmod", path); + return Identifier.of("fabric-renderer-api-v1-testmod", path); } } diff --git a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/FrameUnbakedModel.java b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/FrameUnbakedModel.java index e4a52aced..832ebca13 100644 --- a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/FrameUnbakedModel.java +++ b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/FrameUnbakedModel.java @@ -39,7 +39,7 @@ import net.fabricmc.fabric.api.renderer.v1.mesh.MutableQuadView; import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter; public class FrameUnbakedModel implements UnbakedModel { - private static final SpriteIdentifier OBSIDIAN_SPRITE_ID = new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE, new Identifier("block/obsidian")); + private static final SpriteIdentifier OBSIDIAN_SPRITE_ID = new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE, Identifier.ofDefaultNamespace("block/obsidian")); @Override public Collection<Identifier> getModelDependencies() { diff --git a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/OctagonalColumnUnbakedModel.java b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/OctagonalColumnUnbakedModel.java index 6f564a6b7..97e2a60bd 100644 --- a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/OctagonalColumnUnbakedModel.java +++ b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/OctagonalColumnUnbakedModel.java @@ -42,7 +42,7 @@ import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter; import net.fabricmc.fabric.api.util.TriState; public class OctagonalColumnUnbakedModel implements UnbakedModel { - private static final SpriteIdentifier WHITE_CONCRETE_SPRITE_ID = new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE, new Identifier("block/white_concrete")); + private static final SpriteIdentifier WHITE_CONCRETE_SPRITE_ID = new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE, Identifier.ofDefaultNamespace("block/white_concrete")); // (B - A) is the side length of a regular octagon that fits in a unit square. // The line from A to B is centered on the line from 0 to 1. diff --git a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/RiverstoneUnbakedModel.java b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/RiverstoneUnbakedModel.java index 523cb2f10..d0ae07468 100644 --- a/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/RiverstoneUnbakedModel.java +++ b/fabric-renderer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/renderer/client/RiverstoneUnbakedModel.java @@ -31,8 +31,8 @@ import net.minecraft.client.util.SpriteIdentifier; import net.minecraft.util.Identifier; public class RiverstoneUnbakedModel implements UnbakedModel { - private static final Identifier STONE_MODEL_ID = new Identifier("block/stone"); - private static final Identifier GOLD_BLOCK_MODEL_ID = new Identifier("block/gold_block"); + private static final Identifier STONE_MODEL_ID = Identifier.ofDefaultNamespace("block/stone"); + private static final Identifier GOLD_BLOCK_MODEL_ID = Identifier.ofDefaultNamespace("block/gold_block"); @Override public Collection<Identifier> getModelDependencies() { diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/mesh/EncodingFormat.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/mesh/EncodingFormat.java index 9c5eef1a4..99e190a23 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/mesh/EncodingFormat.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/mesh/EncodingFormat.java @@ -66,7 +66,7 @@ public abstract class EncodingFormat { VERTEX_V = VERTEX_U + 1; VERTEX_LIGHTMAP = HEADER_STRIDE + 6; VERTEX_NORMAL = HEADER_STRIDE + 7; - VERTEX_STRIDE = format.getVertexSizeInteger(); + VERTEX_STRIDE = format.getVertexSizeByte() / 4; QUAD_STRIDE = VERTEX_STRIDE * 4; QUAD_STRIDE_BYTES = QUAD_STRIDE * 4; TOTAL_STRIDE = HEADER_STRIDE + QUAD_STRIDE; diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractRenderContext.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractRenderContext.java index 81969f7a4..70e6d4fbc 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractRenderContext.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractRenderContext.java @@ -129,7 +129,6 @@ abstract class AbstractRenderContext implements RenderContext { } vertexConsumer.normal(normalVec.x(), normalVec.y(), normalVec.z()); - vertexConsumer.next(); } } } diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/ChunkRenderInfo.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/ChunkRenderInfo.java index 27d275ff4..35cbf06a0 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/ChunkRenderInfo.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/ChunkRenderInfo.java @@ -16,18 +16,19 @@ package net.fabricmc.fabric.impl.client.indigo.renderer.render; -import java.util.Set; +import java.util.Map; import it.unimi.dsi.fastutil.longs.Long2FloatOpenHashMap; import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import net.minecraft.block.BlockState; +import net.minecraft.class_9799; import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.VertexFormat; +import net.minecraft.client.render.VertexFormats; import net.minecraft.client.render.WorldRenderer; import net.minecraft.client.render.chunk.BlockBufferBuilderStorage; -import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; import net.minecraft.client.render.chunk.ChunkRendererRegion; import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockRenderView; @@ -69,14 +70,10 @@ public class ChunkRenderInfo { private final Long2FloatOpenHashMap aoLevelCache; private final BlockPos.Mutable chunkOrigin = new BlockPos.Mutable(); - BuiltChunk.RebuildTask.RenderData renderData; - BuiltChunk chunkRenderer; BlockBufferBuilderStorage builders; - Set<RenderLayer> initializedLayers; + Map<RenderLayer, BufferBuilder> buffers; BlockRenderView blockView; - private final Object2ObjectOpenHashMap<RenderLayer, BufferBuilder> buffers = new Object2ObjectOpenHashMap<>(); - ChunkRenderInfo() { brightnessCache = new Long2IntOpenHashMap(); brightnessCache.defaultReturnValue(Integer.MAX_VALUE); @@ -84,34 +81,26 @@ public class ChunkRenderInfo { aoLevelCache.defaultReturnValue(Float.MAX_VALUE); } - void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.RenderData renderData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) { + void prepare(ChunkRendererRegion blockView, BlockPos chunkOrigin, BlockBufferBuilderStorage builders, Map<RenderLayer, BufferBuilder> buffers) { this.blockView = blockView; - this.chunkOrigin.set(chunkRenderer.getOrigin()); - this.renderData = renderData; - this.chunkRenderer = chunkRenderer; + this.chunkOrigin.set(chunkOrigin); this.builders = builders; - this.initializedLayers = initializedLayers; - buffers.clear(); + this.buffers = buffers; brightnessCache.clear(); aoLevelCache.clear(); } void release() { - renderData = null; - chunkRenderer = null; - buffers.clear(); } /** Lazily retrieves output buffer for given layer, initializing as needed. */ public BufferBuilder getInitializedBuffer(RenderLayer renderLayer) { + // TODO 24w21b - possibly AW class_9810#method_60903 which does the same thing? BufferBuilder builder = buffers.get(renderLayer); if (builder == null) { - builder = builders.get(renderLayer); - - if (initializedLayers.add(renderLayer)) { - chunkRenderer.beginBufferBuilding(builder); - } + class_9799 byteBuilder = builders.get(renderLayer); + builder = new BufferBuilder(byteBuilder, VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL); buffers.put(renderLayer, builder); } diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/TerrainRenderContext.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/TerrainRenderContext.java index 2aa5e8f2c..0d8094875 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/TerrainRenderContext.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/TerrainRenderContext.java @@ -16,14 +16,14 @@ package net.fabricmc.fabric.impl.client.indigo.renderer.render; -import java.util.Set; +import java.util.Map; import net.minecraft.block.BlockState; +import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.chunk.BlockBufferBuilderStorage; -import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; import net.minecraft.client.render.chunk.ChunkRendererRegion; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; @@ -72,9 +72,9 @@ public class TerrainRenderContext extends AbstractBlockRenderContext { return chunkInfo.getInitializedBuffer(layer); } - public void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.RenderData renderData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) { + public void prepare(ChunkRendererRegion blockView, BlockPos chunkOrigin, BlockBufferBuilderStorage builders, Map<RenderLayer, BufferBuilder> builderMap) { blockInfo.prepareForWorld(blockView, true); - chunkInfo.prepare(blockView, chunkRenderer, renderData, builders, initializedLayers); + chunkInfo.prepare(blockView, chunkOrigin, builders, builderMap); } public void release() { diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ChunkBuilderBuiltChunkRebuildTaskMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ChunkBuilderBuiltChunkRebuildTaskMixin.java index 2dd82d37b..9441ef57c 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ChunkBuilderBuiltChunkRebuildTaskMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ChunkBuilderBuiltChunkRebuildTaskMixin.java @@ -16,11 +16,12 @@ package net.fabricmc.fabric.mixin.client.indigo.renderer; +import java.util.Map; import java.util.Set; -import org.spongepowered.asm.mixin.Final; +import com.llamalad7.mixinextras.sugar.Local; +import com.mojang.blaze3d.systems.VertexSorter; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; @@ -30,16 +31,17 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.class_9810; +import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.block.BlockRenderManager; import net.minecraft.client.render.chunk.BlockBufferBuilderStorage; -import net.minecraft.client.render.chunk.ChunkBuilder.BuiltChunk; -import net.minecraft.client.render.chunk.ChunkOcclusionDataBuilder; import net.minecraft.client.render.chunk.ChunkRendererRegion; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.ChunkSectionPos; import net.minecraft.util.math.random.Random; import net.minecraft.world.BlockRenderView; @@ -63,24 +65,19 @@ import net.fabricmc.fabric.impl.client.indigo.renderer.render.TerrainRenderConte * Renderer authors are responsible for creating the hooks they need. * (Though they can use these as an example if they wish.) */ -@Mixin(BuiltChunk.RebuildTask.class) +@Mixin(class_9810.class) public abstract class ChunkBuilderBuiltChunkRebuildTaskMixin { - @Final - @Shadow - BuiltChunk field_20839; - - @Inject(method = "render", + @Inject(method = "method_60904", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/BlockPos;iterate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Ljava/lang/Iterable;"), locals = LocalCapture.CAPTURE_FAILHARD) - private void hookChunkBuild(float cameraX, float cameraY, float cameraZ, - BlockBufferBuilderStorage builder, - CallbackInfoReturnable<BuiltChunk.RebuildTask.RenderData> ci, - BuiltChunk.RebuildTask.RenderData renderData, int i, BlockPos blockPos, BlockPos blockPos2, ChunkOcclusionDataBuilder chunkOcclusionDataBuilder, ChunkRendererRegion region, MatrixStack matrixStack, Set<RenderLayer> initializedLayers, Random abstractRandom, BlockRenderManager blockRenderManager) { - // hook just before iterating over the render chunk's chunks blocks, captures the used renderlayer set - // accessing this.region is unsafe due to potential async cancellation, the LV has to be used! + private void hookChunkBuild(ChunkSectionPos sectionPos, ChunkRendererRegion region, VertexSorter sorter, + BlockBufferBuilderStorage builder, + CallbackInfoReturnable<class_9810.class_9811> ci, + @Local(ordinal = 0) Map<RenderLayer, BufferBuilder> builderMap) { + // hook just before iterating over the render chunk's chunks blocks, captures the buffer builder map TerrainRenderContext renderer = TerrainRenderContext.POOL.get(); - renderer.prepare(region, field_20839, renderData, builder, initializedLayers); + renderer.prepare(region, sectionPos.getMinPos(), builder, builderMap); ((AccessChunkRendererRegion) region).fabric_setRenderer(renderer); } @@ -100,7 +97,7 @@ public abstract class ChunkBuilderBuiltChunkRebuildTaskMixin { * Normally this does nothing but will allow mods to create rendering hooks that are * driven off of render type. (Not recommended or encouraged, but also not prevented.) */ - @Redirect(method = "render", require = 1, at = @At(value = "INVOKE", + @Redirect(method = "method_60904", require = 1, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/BlockRenderManager;renderBlock(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;ZLnet/minecraft/util/math/random/Random;)V")) private void hookChunkBuildTessellate(BlockRenderManager renderManager, BlockState blockState, BlockPos blockPos, BlockRenderView blockView, MatrixStack matrix, VertexConsumer bufferBuilder, boolean checkSides, Random random) { if (blockState.getRenderType() == BlockRenderType.MODEL) { @@ -118,7 +115,7 @@ public abstract class ChunkBuilderBuiltChunkRebuildTaskMixin { /** * Release all references. Probably not necessary but would be $#%! to debug if it is. */ - @Inject(method = "render", + @Inject(method = "method_60904", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/BlockModelRenderer;disableBrightnessCache()V")) private void hookRebuildChunkReturn(CallbackInfoReturnable<Set<BlockEntity>> ci) { // hook after iterating over the render chunk's chunks blocks, must be called if and only if hookChunkBuild happened diff --git a/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.accesswidener b/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.accesswidener index 19d76e57f..85c5f524a 100644 --- a/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.accesswidener +++ b/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.accesswidener @@ -1,7 +1,6 @@ accessWidener v2 named accessible class net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk$RebuildTask -accessible class net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk$RebuildTask$RenderData accessible class net/minecraft/client/render/block/BlockModelRenderer$AmbientOcclusionCalculator accessible field net/minecraft/client/render/block/BlockModelRenderer$AmbientOcclusionCalculator brightness [F @@ -9,6 +8,4 @@ accessible field net/minecraft/client/render/block/BlockModelRenderer$AmbientOcc accessible method net/minecraft/client/render/block/BlockModelRenderer getQuadDimensions (Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;[ILnet/minecraft/util/math/Direction;[FLjava/util/BitSet;)V -accessible method net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk beginBufferBuilding (Lnet/minecraft/client/render/BufferBuilder;)V - accessible method net/minecraft/client/render/item/ItemRenderer renderBakedItemModel (Lnet/minecraft/client/render/model/BakedModel;Lnet/minecraft/item/ItemStack;IILnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;)V diff --git a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/api/client/render/fluid/v1/SimpleFluidRenderHandler.java b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/api/client/render/fluid/v1/SimpleFluidRenderHandler.java index 0f28042bc..f74b1d21d 100644 --- a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/api/client/render/fluid/v1/SimpleFluidRenderHandler.java +++ b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/api/client/render/fluid/v1/SimpleFluidRenderHandler.java @@ -42,27 +42,27 @@ public class SimpleFluidRenderHandler implements FluidRenderHandler { /** * The vanilla still water texture identifier. */ - public static final Identifier WATER_STILL = new Identifier("block/water_still"); + public static final Identifier WATER_STILL = Identifier.ofDefaultNamespace("block/water_still"); /** * The vanilla flowing water texture identifier. */ - public static final Identifier WATER_FLOWING = new Identifier("block/water_flow"); + public static final Identifier WATER_FLOWING = Identifier.ofDefaultNamespace("block/water_flow"); /** * The vanilla water overlay texture identifier. */ - public static final Identifier WATER_OVERLAY = new Identifier("block/water_overlay"); + public static final Identifier WATER_OVERLAY = Identifier.ofDefaultNamespace("block/water_overlay"); /** * The vanilla still lava texture identifier. */ - public static final Identifier LAVA_STILL = new Identifier("block/lava_still"); + public static final Identifier LAVA_STILL = Identifier.ofDefaultNamespace("block/lava_still"); /** * The vanilla flowing lava texture identifier. */ - public static final Identifier LAVA_FLOWING = new Identifier("block/lava_flow"); + public static final Identifier LAVA_FLOWING = Identifier.ofDefaultNamespace("block/lava_flow"); protected final Identifier stillTexture; protected final Identifier flowingTexture; diff --git a/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/CustomizedFluidRenderer.java b/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/CustomizedFluidRenderer.java index 0a57d5cb0..ef9289bfe 100644 --- a/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/CustomizedFluidRenderer.java +++ b/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/CustomizedFluidRenderer.java @@ -68,8 +68,8 @@ public class CustomizedFluidRenderer extends SimpleFluidRenderHandler { vertex(vertexConsumer, x1, y2, z2, 1, 1, 1, u1, v2, light); } - private void vertex(VertexConsumer vertexConsumer, double x, double y, double z, float red, float green, float blue, float u, float v, int light) { - vertexConsumer.vertex(x, y, z).color(red, green, blue, 1.0F).texture(u, v).light(light).normal(0.0F, 1.0F, 0.0F).next(); + private void vertex(VertexConsumer vertexConsumer, float x, float y, float z, float red, float green, float blue, float u, float v, int light) { + vertexConsumer.vertex(x, y, z).color(red, green, blue, 1.0F).texture(u, v).light(light).normal(0.0F, 1.0F, 0.0F); } private int getLight(BlockRenderView world, BlockPos pos) { diff --git a/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/FabricFluidRenderingTestModClient.java b/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/FabricFluidRenderingTestModClient.java index 5389121aa..42a886b1f 100644 --- a/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/FabricFluidRenderingTestModClient.java +++ b/fabric-rendering-fluids-v1/src/testmodClient/java/net/fabricmc/fabric/test/client/rendering/fluid/FabricFluidRenderingTestModClient.java @@ -41,20 +41,20 @@ public class FabricFluidRenderingTestModClient implements ClientModInitializer { FluidRenderHandlerRegistry.INSTANCE.setBlockTransparency(Blocks.RED_STAINED_GLASS, false); FluidRenderHandlerRegistry.INSTANCE.register(TestFluids.NO_OVERLAY, TestFluids.NO_OVERLAY_FLOWING, new SimpleFluidRenderHandler( - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_still"), - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_flowing"), + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_still"), + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_flowing"), 0xFF5555 )); FluidRenderHandlerRegistry.INSTANCE.register(TestFluids.OVERLAY, TestFluids.OVERLAY_FLOWING, new SimpleFluidRenderHandler( - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_still"), - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_flowing"), - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_overlay"), + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_still"), + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_flowing"), + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_overlay"), 0x5555FF )); FluidRenderHandlerRegistry.INSTANCE.register(TestFluids.CUSTOM, TestFluids.CUSTOM_FLOWING, new CustomizedFluidRenderer( - new Identifier("fabric-rendering-fluids-v1-testmod:block/test_fluid_overlay") + Identifier.of("fabric-rendering-fluids-v1-testmod", "block/test_fluid_overlay") )); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/api/client/rendering/v1/ArmorRenderer.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/api/client/rendering/v1/ArmorRenderer.java index 57fff4429..54e40e24e 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/api/client/rendering/v1/ArmorRenderer.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/api/client/rendering/v1/ArmorRenderer.java @@ -64,8 +64,8 @@ public interface ArmorRenderer { * @param texture the texture to be applied */ static void renderPart(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, ItemStack stack, Model model, Identifier texture) { - VertexConsumer vertexConsumer = ItemRenderer.getArmorGlintConsumer(vertexConsumers, RenderLayer.getArmorCutoutNoCull(texture), false, stack.hasGlint()); - model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + VertexConsumer vertexConsumer = ItemRenderer.getArmorGlintConsumer(vertexConsumers, RenderLayer.getArmorCutoutNoCull(texture), stack.hasGlint()); + model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 0xFFFFFFFF); } /** diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/impl/client/rendering/FabricShaderProgram.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/impl/client/rendering/FabricShaderProgram.java index d25d86546..86d44498b 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/impl/client/rendering/FabricShaderProgram.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/impl/client/rendering/FabricShaderProgram.java @@ -38,8 +38,8 @@ public final class FabricShaderProgram extends ShaderProgram { * @param containedId the ID contained within the input string * @return the corrected full ID string */ - public static String rewriteAsId(String input, String containedId) { - Identifier contained = new Identifier(containedId); - return contained.getNamespace() + Identifier.NAMESPACE_SEPARATOR + input.replace(containedId, contained.getPath()); + public static Identifier rewriteAsId(String input, String containedId) { + Identifier contained = Identifier.of(containedId); + return Identifier.of(contained.getNamespace(), input.replace(containedId, contained.getPath())); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramImportProcessorMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramImportProcessorMixin.java index 0f55890ee..ded69a1b0 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramImportProcessorMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramImportProcessorMixin.java @@ -44,7 +44,7 @@ abstract class ShaderProgramImportProcessorMixin { @ModifyVariable(method = "loadImport", at = @At("STORE"), ordinal = 0, argsOnly = true) private String modifyImportId(String id, boolean inline) { if (!inline && capturedImport.contains(String.valueOf(Identifier.NAMESPACE_SEPARATOR))) { - return FabricShaderProgram.rewriteAsId(id, capturedImport); + return FabricShaderProgram.rewriteAsId(id, capturedImport).toString(); } return id; diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramMixin.java index effedfc0c..9375dde65 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/shader/ShaderProgramMixin.java @@ -16,11 +16,12 @@ package net.fabricmc.fabric.mixin.client.rendering.shader; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.ModifyVariable; import net.minecraft.client.gl.ShaderProgram; @@ -37,22 +38,31 @@ abstract class ShaderProgramMixin { private String name; // Allow loading FabricShaderPrograms from arbitrary namespaces. - @ModifyArg(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;<init>(Ljava/lang/String;)V"), allow = 1) - private String modifyProgramId(String id) { + @WrapOperation(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;ofDefaultNamespace(Ljava/lang/String;)Lnet/minecraft/util/Identifier;"), allow = 1) + private Identifier modifyId(String id, Operation<Identifier> original) { if ((Object) this instanceof FabricShaderProgram) { return FabricShaderProgram.rewriteAsId(id, name); } - return id; + return original.call(id); } // Allow loading shader stages from arbitrary namespaces. @ModifyVariable(method = "loadShader", at = @At("STORE"), ordinal = 1) private static String modifyStageId(String id, ResourceFactory factory, ShaderStage.Type type, String name) { if (name.contains(String.valueOf(Identifier.NAMESPACE_SEPARATOR))) { - return FabricShaderProgram.rewriteAsId(id, name); + return FabricShaderProgram.rewriteAsId(id, name).toString(); } return id; } + + @WrapOperation(method = "loadShader", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;ofDefaultNamespace(Ljava/lang/String;)Lnet/minecraft/util/Identifier;"), allow = 1) + private static Identifier allowNoneMinecraftId(String id, Operation<Identifier> original) { + if (id.contains(String.valueOf(Identifier.NAMESPACE_SEPARATOR))) { + return Identifier.of(id); + } + + return original.call(id); + } } diff --git a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomAtlasSourcesTestInit.java b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomAtlasSourcesTestInit.java index e747741ff..f3c75f907 100644 --- a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomAtlasSourcesTestInit.java +++ b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomAtlasSourcesTestInit.java @@ -28,6 +28,6 @@ public class CustomAtlasSourcesTestInit implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.ITEM, new Identifier("fabric-rendering-v1-testmod", "double_iron_ingot"), DOUBLE_IRON_INGOT); + Registry.register(Registries.ITEM, Identifier.of("fabric-rendering-v1-testmod", "double_iron_ingot"), DOUBLE_IRON_INGOT); } } diff --git a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomColorResolverTestInit.java b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomColorResolverTestInit.java index 926740eed..4113c1e5d 100644 --- a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomColorResolverTestInit.java +++ b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/CustomColorResolverTestInit.java @@ -32,7 +32,7 @@ public class CustomColorResolverTestInit implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.BLOCK, new Identifier("fabric-rendering-v1-testmod", "custom_color_block"), CUSTOM_COLOR_BLOCK); - Registry.register(Registries.ITEM, new Identifier("fabric-rendering-v1-testmod", "custom_color_block"), CUSTOM_COLOR_BLOCK_ITEM); + Registry.register(Registries.BLOCK, Identifier.of("fabric-rendering-v1-testmod", "custom_color_block"), CUSTOM_COLOR_BLOCK); + Registry.register(Registries.ITEM, Identifier.of("fabric-rendering-v1-testmod", "custom_color_block"), CUSTOM_COLOR_BLOCK_ITEM); } } diff --git a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/TooltipComponentTestInit.java b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/TooltipComponentTestInit.java index 97fd6b910..426dac9a6 100644 --- a/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/TooltipComponentTestInit.java +++ b/fabric-rendering-v1/src/testmod/java/net/fabricmc/fabric/test/rendering/TooltipComponentTestInit.java @@ -38,13 +38,13 @@ import net.fabricmc.api.ModInitializer; public class TooltipComponentTestInit implements ModInitializer { public static Item CUSTOM_TOOLTIP_ITEM = new CustomTooltipItem(); - public static RegistryEntry<ArmorMaterial> TEST_ARMOR_MATERIAL = Registry.registerReference(Registries.ARMOR_MATERIAL, new Identifier("fabric-rendering-v1-testmod", "test_material"), createTestArmorMaterial()); + public static RegistryEntry<ArmorMaterial> TEST_ARMOR_MATERIAL = Registry.registerReference(Registries.ARMOR_MATERIAL, Identifier.of("fabric-rendering-v1-testmod", "test_material"), createTestArmorMaterial()); public static Item CUSTOM_ARMOR_ITEM = new ArmorItem(TEST_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE, new Item.Settings()); @Override public void onInitialize() { - Registry.register(Registries.ITEM, new Identifier("fabric-rendering-v1-testmod", "custom_tooltip"), CUSTOM_TOOLTIP_ITEM); - Registry.register(Registries.ITEM, new Identifier("fabric-rendering-v1-testmod", "test_chest"), CUSTOM_ARMOR_ITEM); + Registry.register(Registries.ITEM, Identifier.of("fabric-rendering-v1-testmod", "custom_tooltip"), CUSTOM_TOOLTIP_ITEM); + Registry.register(Registries.ITEM, Identifier.of("fabric-rendering-v1-testmod", "test_chest"), CUSTOM_ARMOR_ITEM); } private static class CustomTooltipItem extends Item { @@ -72,7 +72,7 @@ public class TooltipComponentTestInit implements ModInitializer { 0, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, () -> Ingredient.ofItems(Items.LEATHER), - List.of(new ArmorMaterial.Layer(new Identifier("fabric-rendering-v1-testmod", "test_material"))), + List.of(new ArmorMaterial.Layer(Identifier.of("fabric-rendering-v1-testmod", "test_material"))), 0, 0 ); diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/ArmorRenderingTests.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/ArmorRenderingTests.java index 2690c76b1..b50fa1511 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/ArmorRenderingTests.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/ArmorRenderingTests.java @@ -29,7 +29,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer; public class ArmorRenderingTests implements ClientModInitializer { private BipedEntityModel<LivingEntity> armorModel; - private final Identifier texture = new Identifier("textures/block/dirt.png"); + private final Identifier texture = Identifier.ofDefaultNamespace("textures/block/dirt.png"); // Renders a biped model with dirt texture, replacing diamond helmet and diamond chest plate rendering @Override diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/CustomAtlasSourcesTest.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/CustomAtlasSourcesTest.java index 7c00d49c0..bd7928b35 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/CustomAtlasSourcesTest.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/CustomAtlasSourcesTest.java @@ -44,7 +44,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.AtlasSourceTypeRegistry; public class CustomAtlasSourcesTest implements ClientModInitializer { @Override public void onInitializeClient() { - AtlasSourceTypeRegistry.register(new Identifier("fabric-rendering-v1-testmod", "double"), DoubleAtlasSource.TYPE); + AtlasSourceTypeRegistry.register(Identifier.of("fabric-rendering-v1-testmod", "double"), DoubleAtlasSource.TYPE); } private static class DoubleAtlasSource implements AtlasSource { diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java index 171a46bd0..59a74df03 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java @@ -20,6 +20,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import org.joml.Matrix4f; import net.minecraft.client.render.BufferBuilder; +import net.minecraft.client.render.BufferRenderer; import net.minecraft.client.render.DimensionEffects; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.render.Tessellator; @@ -34,7 +35,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; public class DimensionalRenderingTest implements ClientModInitializer { - private static final Identifier END_SKY = new Identifier("textures/block/dirt.png"); + private static final Identifier END_SKY = Identifier.ofDefaultNamespace("textures/block/dirt.png"); private static void render(WorldRenderContext context) { RenderSystem.enableBlend(); @@ -43,40 +44,39 @@ public class DimensionalRenderingTest implements ClientModInitializer { RenderSystem.setShader(GameRenderer::getPositionTexColorProgram); RenderSystem.setShaderTexture(0, END_SKY); Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder bufferBuilder = tessellator.getBuffer(); + BufferBuilder bufferBuilder = tessellator.method_60827(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR); Matrix4f matrix4f = context.positionMatrix(); - bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -99.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -99.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -99.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -99.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 101.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 101.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, -100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, 100.0f, 100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255).next(); - bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255).next(); - tessellator.draw(); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255); + bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255); + BufferRenderer.drawWithGlobalProgram(bufferBuilder.method_60800()); RenderSystem.depthMask(true); RenderSystem.disableBlend(); @@ -84,7 +84,7 @@ public class DimensionalRenderingTest implements ClientModInitializer { @Override public void onInitializeClient() { - DimensionRenderingRegistry.registerSkyRenderer(RegistryKey.of(RegistryKeys.WORLD, new Identifier("fabric_dimension", "void")), DimensionalRenderingTest::render); - DimensionRenderingRegistry.registerDimensionEffects(new Identifier("fabric_dimension", "void"), new DimensionEffects.End()); + DimensionRenderingRegistry.registerSkyRenderer(RegistryKey.of(RegistryKeys.WORLD, Identifier.of("fabric_dimension", "void")), DimensionalRenderingTest::render); + DimensionRenderingRegistry.registerDimensionEffects(Identifier.of("fabric_dimension", "void"), new DimensionEffects.End()); } } diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java index 0be4d258f..801d7998c 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java @@ -44,7 +44,7 @@ public class HudAndShaderTest implements ClientModInitializer { public void onInitializeClient() { CoreShaderRegistrationCallback.EVENT.register(context -> { // Register a custom shader taking POSITION vertices. - Identifier id = new Identifier("fabric-rendering-v1-testmod", "test"); + Identifier id = Identifier.of("fabric-rendering-v1-testmod", "test"); context.register(id, VertexFormats.POSITION, program -> testShader = program); }); @@ -56,13 +56,12 @@ public class HudAndShaderTest implements ClientModInitializer { RenderSystem.setShader(() -> testShader); RenderSystem.setShaderColor(0f, 1f, 0f, 1f); Matrix4f positionMatrix = drawContext.getMatrices().peek().getPositionMatrix(); - BufferBuilder buffer = Tessellator.getInstance().getBuffer(); - buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); - buffer.vertex(positionMatrix, x, y, 50).next(); - buffer.vertex(positionMatrix, x, y + 10, 50).next(); - buffer.vertex(positionMatrix, x + 10, y + 10, 50).next(); - buffer.vertex(positionMatrix, x + 10, y, 50).next(); - BufferRenderer.drawWithGlobalProgram(buffer.end()); + BufferBuilder buffer = Tessellator.getInstance().method_60827(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION); + buffer.vertex(positionMatrix, x, y, 50); + buffer.vertex(positionMatrix, x, y + 10, 50); + buffer.vertex(positionMatrix, x + 10, y + 10, 50); + buffer.vertex(positionMatrix, x + 10, y, 50); + BufferRenderer.drawWithGlobalProgram(buffer.method_60800()); // Reset shader color RenderSystem.setShaderColor(1f, 1f, 1f, 1f); }); diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java index 5423abaf8..fd1e2e982 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java @@ -21,6 +21,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.BufferBuilder; +import net.minecraft.client.render.BufferRenderer; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.Tessellator; @@ -65,7 +66,7 @@ public class WorldRenderEventsTests implements ClientModInitializer { MatrixStack matrices = context.matrixStack(); Vec3d camera = context.camera().getPos(); Tessellator tessellator = RenderSystem.renderThreadTesselator(); - BufferBuilder buffer = tessellator.getBuffer(); + BufferBuilder buffer = tessellator.method_60827(VertexFormat.DrawMode.TRIANGLE_STRIP, VertexFormats.POSITION_COLOR); matrices.push(); matrices.translate(-camera.x, -camera.y, -camera.z); @@ -75,9 +76,8 @@ public class WorldRenderEventsTests implements ClientModInitializer { RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - buffer.begin(VertexFormat.DrawMode.TRIANGLE_STRIP, VertexFormats.POSITION_COLOR); WorldRenderer.renderFilledBox(matrices, buffer, 0, 100, 0, 1, 101, 1, 0, 1, 0, 0.5f); - tessellator.draw(); + BufferRenderer.drawWithGlobalProgram(buffer.method_60800()); matrices.pop(); RenderSystem.disableBlend(); diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/DefaultResourceConditionTypes.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/DefaultResourceConditionTypes.java index 7e92ae1f7..d202c59ac 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/DefaultResourceConditionTypes.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/DefaultResourceConditionTypes.java @@ -44,6 +44,6 @@ public class DefaultResourceConditionTypes { public static final ResourceConditionType<RegistryContainsResourceCondition> REGISTRY_CONTAINS = createResourceConditionType("registry_contains", RegistryContainsResourceCondition.CODEC); private static <T extends ResourceCondition> ResourceConditionType<T> createResourceConditionType(String name, MapCodec<T> codec) { - return ResourceConditionType.create(new Identifier("fabric", name), codec); + return ResourceConditionType.create(Identifier.of("fabric", name), codec); } } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableRegistriesMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableRegistriesMixin.java index c364642d8..a5813805e 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableRegistriesMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableRegistriesMixin.java @@ -69,7 +69,7 @@ public class ReloadableRegistriesMixin { @Inject(method = "method_58278", at = @At("HEAD"), cancellable = true) private static void applyConditions(LootDataType lootDataType, RegistryOps ops, MutableRegistry mutableRegistry, Identifier id, JsonElement json, CallbackInfo ci) { - if (json.isJsonObject() && !ResourceConditionsImpl.applyResourceConditions(json.getAsJsonObject(), lootDataType.directory(), id, REGISTRY_LOOKUPS.get(ops))) { + if (json.isJsonObject() && !ResourceConditionsImpl.applyResourceConditions(json.getAsJsonObject(), lootDataType.registryKey().getValue().getPath(), id, REGISTRY_LOOKUPS.get(ops))) { ci.cancel(); } } diff --git a/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/ConditionalResourcesTest.java b/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/ConditionalResourcesTest.java index 0b968f77d..3d84c4560 100644 --- a/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/ConditionalResourcesTest.java +++ b/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/ConditionalResourcesTest.java @@ -33,7 +33,7 @@ public class ConditionalResourcesTest { private static final String MOD_ID = "fabric-resource-conditions-api-v1-testmod"; private static Identifier id(String path) { - return new Identifier(MOD_ID, path); + return Identifier.of(MOD_ID, path); } @GameTest(templateName = FabricGameTest.EMPTY_STRUCTURE) diff --git a/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/DefaultResourceConditionsTest.java b/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/DefaultResourceConditionsTest.java index 090e15d2b..0fb9b8ba1 100644 --- a/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/DefaultResourceConditionsTest.java +++ b/fabric-resource-conditions-api-v1/src/testmod/java/net/fabricmc/fabric/test/resource/conditions/DefaultResourceConditionsTest.java @@ -47,8 +47,8 @@ public class DefaultResourceConditionsTest { private static final String TESTMOD_ID = "fabric-resource-conditions-api-v1-testmod"; private static final String API_MOD_ID = "fabric-resource-conditions-api-v1"; private static final String UNKNOWN_MOD_ID = "fabric-tiny-potato-api-v1"; - private static final RegistryKey<? extends Registry<Object>> UNKNOWN_REGISTRY_KEY = RegistryKey.ofRegistry(new Identifier(TESTMOD_ID, "unknown_registry")); - private static final Identifier UNKNOWN_ENTRY_ID = new Identifier(TESTMOD_ID, "tiny_potato"); + private static final RegistryKey<? extends Registry<Object>> UNKNOWN_REGISTRY_KEY = RegistryKey.ofRegistry(Identifier.of(TESTMOD_ID, "unknown_registry")); + private static final Identifier UNKNOWN_ENTRY_ID = Identifier.of(TESTMOD_ID, "tiny_potato"); private void expectCondition(TestContext context, String name, ResourceCondition condition, boolean expected) { RegistryWrapper.WrapperLookup registryLookup = context.getWorld().getRegistryManager(); @@ -124,7 +124,7 @@ public class DefaultResourceConditionsTest { ResourceCondition vanilla = ResourceConditions.featuresEnabled(FeatureFlags.VANILLA); // Reminder: GameTest enables all features by default ResourceCondition vanillaAndBundle = ResourceConditions.featuresEnabled(FeatureFlags.VANILLA, FeatureFlags.BUNDLE); - Identifier unknownId = new Identifier(TESTMOD_ID, "unknown_feature_to_test_condition"); + Identifier unknownId = Identifier.of(TESTMOD_ID, "unknown_feature_to_test_condition"); ResourceCondition unknown = ResourceConditions.featuresEnabled(unknownId); // Passing an array to avoid type ambiguity ResourceCondition empty = ResourceConditions.featuresEnabled(new FeatureFlag[]{}); diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_tables/blocks/loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_table/blocks/loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_tables/blocks/loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_table/blocks/loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_tables/blocks/not_loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_table/blocks/not_loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_tables/blocks/not_loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/loot_table/blocks/not_loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicates/loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicate/loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicates/loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicate/loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicates/not_loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicate/not_loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicates/not_loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/predicate/not_loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/features_enabled.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/features_enabled.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/features_enabled.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/features_enabled.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/item_tags_populated.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/item_tags_populated.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/item_tags_populated.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/item_tags_populated.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/not_loaded.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/not_loaded.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/not_loaded.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/not_loaded.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_not_populated.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_not_populated.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_not_populated.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_not_populated.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_populated.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_populated.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_populated.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_populated.json diff --git a/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_populated_default.json b/fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_populated_default.json similarity index 100% rename from fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipes/tags_populated_default.json rename to fabric-resource-conditions-api-v1/src/testmod/resources/data/fabric-resource-conditions-api-v1-testmod/recipe/tags_populated_default.json diff --git a/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/KeyedResourceReloadListenerClientMixin.java b/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/KeyedResourceReloadListenerClientMixin.java index c437e81f9..a02b23b44 100644 --- a/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/KeyedResourceReloadListenerClientMixin.java +++ b/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/KeyedResourceReloadListenerClientMixin.java @@ -58,7 +58,7 @@ public abstract class KeyedResourceReloadListenerClientMixin implements Identifi } else if (self instanceof TextureManager) { this.fabric$id = ResourceReloadListenerKeys.TEXTURES; } else { - this.fabric$id = new Identifier("minecraft", "private/" + self.getClass().getSimpleName().toLowerCase(Locale.ROOT)); + this.fabric$id = Identifier.ofDefaultNamespace("private/" + self.getClass().getSimpleName().toLowerCase(Locale.ROOT)); } } diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/api/resource/ResourceReloadListenerKeys.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/api/resource/ResourceReloadListenerKeys.java index 0087383ce..2b63e5eda 100644 --- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/api/resource/ResourceReloadListenerKeys.java +++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/api/resource/ResourceReloadListenerKeys.java @@ -25,17 +25,17 @@ import net.minecraft.util.Identifier; */ public final class ResourceReloadListenerKeys { // client - public static final Identifier SOUNDS = new Identifier("minecraft:sounds"); - public static final Identifier FONTS = new Identifier("minecraft:fonts"); - public static final Identifier MODELS = new Identifier("minecraft:models"); - public static final Identifier LANGUAGES = new Identifier("minecraft:languages"); - public static final Identifier TEXTURES = new Identifier("minecraft:textures"); + public static final Identifier SOUNDS = Identifier.ofDefaultNamespace("sounds"); + public static final Identifier FONTS = Identifier.ofDefaultNamespace("fonts"); + public static final Identifier MODELS = Identifier.ofDefaultNamespace("models"); + public static final Identifier LANGUAGES = Identifier.ofDefaultNamespace("languages"); + public static final Identifier TEXTURES = Identifier.ofDefaultNamespace("textures"); // server - public static final Identifier TAGS = new Identifier("minecraft:tags"); - public static final Identifier RECIPES = new Identifier("minecraft:recipes"); - public static final Identifier ADVANCEMENTS = new Identifier("minecraft:advancements"); - public static final Identifier FUNCTIONS = new Identifier("minecraft:functions"); + public static final Identifier TAGS = Identifier.ofDefaultNamespace("tags"); + public static final Identifier RECIPES = Identifier.ofDefaultNamespace("recipes"); + public static final Identifier ADVANCEMENTS = Identifier.ofDefaultNamespace("advancements"); + public static final Identifier FUNCTIONS = Identifier.ofDefaultNamespace("functions"); private ResourceReloadListenerKeys() { } } diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/KeyedResourceReloadListenerMixin.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/KeyedResourceReloadListenerMixin.java index e3474e017..4c1e56176 100644 --- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/KeyedResourceReloadListenerMixin.java +++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/KeyedResourceReloadListenerMixin.java @@ -55,7 +55,7 @@ public abstract class KeyedResourceReloadListenerMixin implements IdentifiableRe } else if (self instanceof TagManagerLoader) { this.fabric$id = ResourceReloadListenerKeys.TAGS; } else { - this.fabric$id = new Identifier("minecraft", "private/" + self.getClass().getSimpleName().toLowerCase(Locale.ROOT)); + this.fabric$id = Identifier.ofDefaultNamespace("private/" + self.getClass().getSimpleName().toLowerCase(Locale.ROOT)); } } diff --git a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/BuiltinResourcePackTestMod.java b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/BuiltinResourcePackTestMod.java index 95a003726..fec1fe58f 100644 --- a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/BuiltinResourcePackTestMod.java +++ b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/BuiltinResourcePackTestMod.java @@ -36,11 +36,11 @@ public class BuiltinResourcePackTestMod implements ModInitializer { public void onInitialize() { // Should always be present as it's **this** mod. FabricLoader.getInstance().getModContainer(MODID) - .map(container -> ResourceManagerHelper.registerBuiltinResourcePack(new Identifier(MODID, "test"), + .map(container -> ResourceManagerHelper.registerBuiltinResourcePack(Identifier.of(MODID, "test"), container, Text.literal("Fabric Resource Loader Test Pack"), ResourcePackActivationType.DEFAULT_ENABLED)) .filter(success -> !success).ifPresent(success -> LOGGER.warn("Could not register built-in resource pack with custom name.")); FabricLoader.getInstance().getModContainer(MODID) - .map(container -> ResourceManagerHelper.registerBuiltinResourcePack(new Identifier(MODID, "test2"), + .map(container -> ResourceManagerHelper.registerBuiltinResourcePack(Identifier.of(MODID, "test2"), container, ResourcePackActivationType.NORMAL)) .filter(success -> !success).ifPresent(success -> LOGGER.warn("Could not register built-in resource pack.")); } diff --git a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/ResourceReloadListenerTestMod.java b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/ResourceReloadListenerTestMod.java index f4629784a..d57faf2e1 100644 --- a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/ResourceReloadListenerTestMod.java +++ b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/ResourceReloadListenerTestMod.java @@ -56,7 +56,7 @@ public class ResourceReloadListenerTestMod implements ModInitializer { ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(new SimpleSynchronousResourceReloadListener() { @Override public Identifier getFabricId() { - return new Identifier(MODID, "client_second"); + return Identifier.of(MODID, "client_second"); } @Override @@ -68,14 +68,14 @@ public class ResourceReloadListenerTestMod implements ModInitializer { @Override public Collection<Identifier> getFabricDependencies() { - return Collections.singletonList(new Identifier(MODID, "client_first")); + return Collections.singletonList(Identifier.of(MODID, "client_first")); } }); ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(new SimpleSynchronousResourceReloadListener() { @Override public Identifier getFabricId() { - return new Identifier(MODID, "client_first"); + return Identifier.of(MODID, "client_first"); } @Override @@ -89,7 +89,7 @@ public class ResourceReloadListenerTestMod implements ModInitializer { ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(new SimpleSynchronousResourceReloadListener() { @Override public Identifier getFabricId() { - return new Identifier(MODID, "server_second"); + return Identifier.of(MODID, "server_second"); } @Override @@ -101,14 +101,14 @@ public class ResourceReloadListenerTestMod implements ModInitializer { @Override public Collection<Identifier> getFabricDependencies() { - return Collections.singletonList(new Identifier(MODID, "server_first")); + return Collections.singletonList(Identifier.of(MODID, "server_first")); } }); ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(new SimpleSynchronousResourceReloadListener() { @Override public Identifier getFabricId() { - return new Identifier(MODID, "server_first"); + return Identifier.of(MODID, "server_first"); } @Override diff --git a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/VanillaBuiltinResourcePackInjectionTestMod.java b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/VanillaBuiltinResourcePackInjectionTestMod.java index 97c26d584..ac9bb8ce0 100644 --- a/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/VanillaBuiltinResourcePackInjectionTestMod.java +++ b/fabric-resource-loader-v0/src/testmod/java/net/fabricmc/fabric/test/resource/loader/VanillaBuiltinResourcePackInjectionTestMod.java @@ -34,7 +34,7 @@ public class VanillaBuiltinResourcePackInjectionTestMod implements ModInitialize @Override public void onInitialize() { - Identifier id = new Identifier(MODID, "testblock"); + Identifier id = Identifier.of(MODID, "testblock"); Registry.register(Registries.BLOCK, id, TEST_BLOCK); Registry.register(Registries.ITEM, id, new BlockItem(TEST_BLOCK, new Item.Settings())); diff --git a/fabric-screen-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screen/ScreenTests.java b/fabric-screen-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screen/ScreenTests.java index 96604045a..7abd78d61 100644 --- a/fabric-screen-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screen/ScreenTests.java +++ b/fabric-screen-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screen/ScreenTests.java @@ -33,7 +33,7 @@ import net.fabricmc.fabric.api.client.screen.v1.ScreenKeyboardEvents; import net.fabricmc.fabric.api.client.screen.v1.Screens; public final class ScreenTests implements ClientModInitializer { - public static final Identifier ARMOR_FULL_TEXTURE = new Identifier("hud/armor_full"); + public static final Identifier ARMOR_FULL_TEXTURE = Identifier.ofDefaultNamespace("hud/armor_full"); private static final Logger LOGGER = LoggerFactory.getLogger("FabricScreenApiTests"); @Override diff --git a/fabric-screen-handler-api-v1/src/main/java/net/fabricmc/fabric/impl/screenhandler/Networking.java b/fabric-screen-handler-api-v1/src/main/java/net/fabricmc/fabric/impl/screenhandler/Networking.java index 42bc91e59..885aa9f99 100644 --- a/fabric-screen-handler-api-v1/src/main/java/net/fabricmc/fabric/impl/screenhandler/Networking.java +++ b/fabric-screen-handler-api-v1/src/main/java/net/fabricmc/fabric/impl/screenhandler/Networking.java @@ -50,7 +50,7 @@ public final class Networking implements ModInitializer { // syncId: varInt // title: text // customData: buf - public static final Identifier OPEN_ID = new Identifier("fabric-screen-handler-api-v1", "open_screen"); + public static final Identifier OPEN_ID = Identifier.of("fabric-screen-handler-api-v1", "open_screen"); public static final Map<Identifier, PacketCodec<? super RegistryByteBuf, ?>> CODEC_BY_ID = new HashMap<>(); /** diff --git a/fabric-screen-handler-api-v1/src/testmod/java/net/fabricmc/fabric/test/screenhandler/ScreenHandlerTest.java b/fabric-screen-handler-api-v1/src/testmod/java/net/fabricmc/fabric/test/screenhandler/ScreenHandlerTest.java index f500f81af..955bcbd29 100644 --- a/fabric-screen-handler-api-v1/src/testmod/java/net/fabricmc/fabric/test/screenhandler/ScreenHandlerTest.java +++ b/fabric-screen-handler-api-v1/src/testmod/java/net/fabricmc/fabric/test/screenhandler/ScreenHandlerTest.java @@ -53,7 +53,7 @@ public class ScreenHandlerTest implements ModInitializer { public static final ScreenHandlerType<BoxScreenHandler> BOX_SCREEN_HANDLER = new ExtendedScreenHandlerType<>(BoxScreenHandler::new, BlockPos.PACKET_CODEC.cast()); public static Identifier id(String path) { - return new Identifier(ID, path); + return Identifier.of(ID, path); } @Override diff --git a/fabric-screen-handler-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screenhandler/client/PositionedScreen.java b/fabric-screen-handler-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screenhandler/client/PositionedScreen.java index 13a655de8..4d0472220 100644 --- a/fabric-screen-handler-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screenhandler/client/PositionedScreen.java +++ b/fabric-screen-handler-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/screenhandler/client/PositionedScreen.java @@ -31,7 +31,7 @@ import net.minecraft.util.math.BlockPos; import net.fabricmc.fabric.test.screenhandler.screen.PositionedScreenHandler; public class PositionedScreen extends HandledScreen<ScreenHandler> { - private static final Identifier TEXTURE = new Identifier("minecraft", "textures/gui/container/dispenser.png"); + private static final Identifier TEXTURE = Identifier.ofDefaultNamespace("textures/gui/container/dispenser.png"); public PositionedScreen(ScreenHandler handler, PlayerInventory inventory, Text title) { super(handler, inventory, getPositionText(handler).orElse(title)); diff --git a/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance.java b/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance.java index fc9bf00c9..bff26c6dc 100644 --- a/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance.java +++ b/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance.java @@ -35,7 +35,7 @@ public interface FabricSoundInstance { * * @see #getAudioStream(SoundLoader, Identifier, boolean) */ - Identifier EMPTY_SOUND = new Identifier("fabric-sound-api-v1", "empty"); + Identifier EMPTY_SOUND = Identifier.of("fabric-sound-api-v1", "empty"); /** * Loads the audio stream for this sound. @@ -68,7 +68,7 @@ public interface FabricSoundInstance { * class CustomSound extends AbstractSoundInstance { * CustomSound() { * // Use the sound defined in sounds.json - * super(new Identifier("mod_id", "custom_sound"), SoundCategory.BLOCKS, SoundInstance.createRandom()); + * super(Identifier.of("mod_id", "custom_sound"), SoundCategory.BLOCKS, SoundInstance.createRandom()); * } * * @Override diff --git a/fabric-sound-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/sound/client/SineSound.java b/fabric-sound-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/sound/client/SineSound.java index 329179959..1589f5fee 100644 --- a/fabric-sound-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/sound/client/SineSound.java +++ b/fabric-sound-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/sound/client/SineSound.java @@ -28,7 +28,7 @@ import net.minecraft.util.math.Vec3d; class SineSound extends AbstractSoundInstance { SineSound(Vec3d pos) { - super(new Identifier(ClientSoundTest.MOD_ID, "sine_wave"), SoundCategory.BLOCKS, SoundInstance.createRandom()); + super(Identifier.of(ClientSoundTest.MOD_ID, "sine_wave"), SoundCategory.BLOCKS, SoundInstance.createRandom()); x = pos.x; y = pos.y; z = pos.z; diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/fluid/FluidStorage.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/fluid/FluidStorage.java index 701113d97..de922e4e7 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/fluid/FluidStorage.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/fluid/FluidStorage.java @@ -65,7 +65,7 @@ public final class FluidStorage { * On the client thread (i.e. with a client world), contents of queried Storages are unreliable and should not be modified. */ public static final BlockApiLookup<Storage<FluidVariant>, @Nullable Direction> SIDED = - BlockApiLookup.get(new Identifier("fabric:sided_fluid_storage"), Storage.asClass(), Direction.class); + BlockApiLookup.get(Identifier.of("fabric", "sided_fluid_storage"), Storage.asClass(), Direction.class); /** * Item access to fluid variant storages. @@ -83,7 +83,7 @@ public final class FluidStorage { * Returned APIs should behave the same regardless of the logical side. */ public static final ItemApiLookup<Storage<FluidVariant>, ContainerItemContext> ITEM = - ItemApiLookup.get(new Identifier("fabric:fluid_storage"), Storage.asClass(), ContainerItemContext.class); + ItemApiLookup.get(Identifier.of("fabric", "fluid_storage"), Storage.asClass(), ContainerItemContext.class); /** * Get or create and register a {@link CombinedItemApiProvider} event for the passed item. diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/item/ItemStorage.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/item/ItemStorage.java index 84389bc90..b51d15d96 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/item/ItemStorage.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/item/ItemStorage.java @@ -78,7 +78,7 @@ public final class ItemStorage { * On the client thread (i.e. with a client world), contents of queried Storages are unreliable and should not be modified. */ public static final BlockApiLookup<Storage<ItemVariant>, @Nullable Direction> SIDED = - BlockApiLookup.get(new Identifier("fabric:sided_item_storage"), Storage.asClass(), Direction.class); + BlockApiLookup.get(Identifier.of("fabric", "sided_item_storage"), Storage.asClass(), Direction.class); private ItemStorage() { } diff --git a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/FluidTests.java b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/FluidTests.java index 49e1c7832..e91281da8 100644 --- a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/FluidTests.java +++ b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/FluidTests.java @@ -80,7 +80,7 @@ class FluidTests extends AbstractTransferApiTest { TAGGED_WATER_2 = FluidVariant.of(Fluids.WATER, components); WATER = FluidVariant.of(Fluids.WATER); LAVA = FluidVariant.of(Fluids.LAVA); - TEST = Registry.register(Registries.DATA_COMPONENT_TYPE, new Identifier(TransferTestInitializer.MOD_ID, "test"), + TEST = Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(TransferTestInitializer.MOD_ID, "test"), ComponentType.<Integer>builder().codec(Codecs.NONNEGATIVE_INT).packetCodec(PacketCodecs.VAR_INT).build()); } diff --git a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/ItemTests.java b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/ItemTests.java index ebbc73cd4..526333acc 100644 --- a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/ItemTests.java +++ b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/ItemTests.java @@ -62,7 +62,7 @@ class ItemTests extends AbstractTransferApiTest { @BeforeAll static void beforeAll() { bootstrap(); - ENERGY = Registry.register(Registries.DATA_COMPONENT_TYPE, new Identifier(TransferTestInitializer.MOD_ID, "energy"), + ENERGY = Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(TransferTestInitializer.MOD_ID, "energy"), ComponentType.<Integer>builder().codec(Codecs.NONNEGATIVE_INT).packetCodec(PacketCodecs.VAR_INT).build()); } diff --git a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/SingleVariantItemStorageTests.java b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/SingleVariantItemStorageTests.java index d79c03bf7..d9ebf915a 100644 --- a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/SingleVariantItemStorageTests.java +++ b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/SingleVariantItemStorageTests.java @@ -65,7 +65,7 @@ public class SingleVariantItemStorageTests extends AbstractTransferApiTest { LAVA = FluidVariant.of(Fluids.LAVA); FLUID = Registry.register( - Registries.DATA_COMPONENT_TYPE, new Identifier(TransferTestInitializer.MOD_ID, "fluid"), + Registries.DATA_COMPONENT_TYPE, Identifier.of(TransferTestInitializer.MOD_ID, "fluid"), ComponentType.<FluidData>builder().codec(FluidData.CODEC).packetCodec(FluidData.PACKET_CODEC).build()); } diff --git a/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/ingame/TransferTestInitializer.java b/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/ingame/TransferTestInitializer.java index d033e0a51..d9a81ffd7 100644 --- a/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/ingame/TransferTestInitializer.java +++ b/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/ingame/TransferTestInitializer.java @@ -45,10 +45,10 @@ public class TransferTestInitializer implements ModInitializer { registerBlock(INFINITE_WATER_SOURCE, "infinite_water_source"); registerBlock(INFINITE_LAVA_SOURCE, "infinite_lava_source"); registerBlock(FLUID_CHUTE, "fluid_chute"); - Registry.register(Registries.ITEM, new Identifier(MOD_ID, "extract_stick"), EXTRACT_STICK); + Registry.register(Registries.ITEM, Identifier.of(MOD_ID, "extract_stick"), EXTRACT_STICK); FLUID_CHUTE_TYPE = FabricBlockEntityTypeBuilder.create(FluidChuteBlockEntity::new, FLUID_CHUTE).build(); - Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(MOD_ID, "fluid_chute"), FLUID_CHUTE_TYPE); + Registry.register(Registries.BLOCK_ENTITY_TYPE, Identifier.of(MOD_ID, "fluid_chute"), FLUID_CHUTE_TYPE); FluidStorage.SIDED.registerForBlocks((world, pos, state, be, direction) -> CreativeStorage.WATER, INFINITE_WATER_SOURCE); FluidStorage.SIDED.registerForBlocks((world, pos, state, be, direction) -> CreativeStorage.LAVA, INFINITE_LAVA_SOURCE); @@ -60,7 +60,7 @@ public class TransferTestInitializer implements ModInitializer { } private static void registerBlock(Block block, String name) { - Identifier id = new Identifier(MOD_ID, name); + Identifier id = Identifier.of(MOD_ID, name); Registry.register(Registries.BLOCK, id, block); Registry.register(Registries.ITEM, id, new BlockItem(block, new Item.Settings())); } diff --git a/fabric-transfer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/transfer/ingame/client/FluidVariantRenderTest.java b/fabric-transfer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/transfer/ingame/client/FluidVariantRenderTest.java index bcac9e2b9..65eb47418 100644 --- a/fabric-transfer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/transfer/ingame/client/FluidVariantRenderTest.java +++ b/fabric-transfer-api-v1/src/testmodClient/java/net/fabricmc/fabric/test/transfer/ingame/client/FluidVariantRenderTest.java @@ -93,9 +93,8 @@ public class FluidVariantRenderTest implements ClientModInitializer { float b = (color & 255) / 255f; RenderSystem.disableDepthTest(); - RenderSystem.setShader(GameRenderer::getPositionColorTexProgram); - BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer(); - bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE); + RenderSystem.setShader(GameRenderer::getPositionTexColorProgram); + BufferBuilder bufferBuilder = Tessellator.getInstance().method_60827(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR); float x0 = (float) i; float y0 = (float) j; float x1 = x0 + 16; @@ -106,11 +105,11 @@ public class FluidVariantRenderTest implements ClientModInitializer { float u1 = sprite.getMaxU(); float v1 = sprite.getMaxV(); Matrix4f model = drawContext.getMatrices().peek().getPositionMatrix(); - bufferBuilder.vertex(model, x0, y1, z).color(r, g, b, 1).texture(u0, v1).next(); - bufferBuilder.vertex(model, x1, y1, z).color(r, g, b, 1).texture(u1, v1).next(); - bufferBuilder.vertex(model, x1, y0, z).color(r, g, b, 1).texture(u1, v0).next(); - bufferBuilder.vertex(model, x0, y0, z).color(r, g, b, 1).texture(u0, v0).next(); - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); + bufferBuilder.vertex(model, x0, y1, z).color(r, g, b, 1).texture(u0, v1); + bufferBuilder.vertex(model, x1, y1, z).color(r, g, b, 1).texture(u1, v1); + bufferBuilder.vertex(model, x1, y0, z).color(r, g, b, 1).texture(u1, v0); + bufferBuilder.vertex(model, x0, y0, z).color(r, g, b, 1).texture(u0, v0); + BufferRenderer.drawWithGlobalProgram(bufferBuilder.method_60800()); RenderSystem.enableDepthTest(); } diff --git a/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener b/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener index 5d132bde7..149eda5a6 100644 --- a/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener +++ b/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener @@ -239,7 +239,6 @@ transitive-accessible method net/minecraft/block/WitherSkullBlock <init> (Lnet/m # Constructors of non-abstract item classes transitive-accessible method net/minecraft/item/MiningToolItem <init> (Lnet/minecraft/item/ToolMaterial;Lnet/minecraft/registry/tag/TagKey;Lnet/minecraft/item/Item$Settings;)V -transitive-accessible method net/minecraft/item/MusicDiscItem <init> (ILnet/minecraft/sound/SoundEvent;Lnet/minecraft/item/Item$Settings;I)V # Protected static fields of RenderPhase transitive-accessible field net/minecraft/client/render/RenderPhase NO_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency; @@ -251,7 +250,6 @@ transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_ transitive-accessible field net/minecraft/client/render/RenderPhase NO_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_LIGHTMAP_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; -transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_TEXTURE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_TEXTURE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_TEXTURE_LIGHTMAP_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase COLOR_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; @@ -280,11 +278,9 @@ transitive-accessible field net/minecraft/client/render/RenderPhase ENERGY_SWIRL transitive-accessible field net/minecraft/client/render/RenderPhase LEASH_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase WATER_MASK_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase OUTLINE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; -transitive-accessible field net/minecraft/client/render/RenderPhase ARMOR_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase ARMOR_ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; -transitive-accessible field net/minecraft/client/render/RenderPhase DIRECT_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase DIRECT_ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; transitive-accessible field net/minecraft/client/render/RenderPhase CRUMBLING_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram; diff --git a/fabric-transitive-access-wideners-v1/src/testmod/java/net/fabricmc/fabric/test/access/SignBlockEntityTest.java b/fabric-transitive-access-wideners-v1/src/testmod/java/net/fabricmc/fabric/test/access/SignBlockEntityTest.java index ee43426d5..1c9067100 100644 --- a/fabric-transitive-access-wideners-v1/src/testmod/java/net/fabricmc/fabric/test/access/SignBlockEntityTest.java +++ b/fabric-transitive-access-wideners-v1/src/testmod/java/net/fabricmc/fabric/test/access/SignBlockEntityTest.java @@ -54,10 +54,10 @@ public final class SignBlockEntityTest implements ModInitializer { @Override public void onInitialize() { - Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "test_sign"), TEST_SIGN); - Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "test_wall_sign"), TEST_WALL_SIGN); - Registry.register(Registries.ITEM, new Identifier(MOD_ID, "test_sign"), TEST_SIGN_ITEM); - Registry.register(Registries.BLOCK_ENTITY_TYPE, new Identifier(MOD_ID, "test_sign"), TEST_SIGN_BLOCK_ENTITY); + Registry.register(Registries.BLOCK, Identifier.of(MOD_ID, "test_sign"), TEST_SIGN); + Registry.register(Registries.BLOCK, Identifier.of(MOD_ID, "test_wall_sign"), TEST_WALL_SIGN); + Registry.register(Registries.ITEM, Identifier.of(MOD_ID, "test_sign"), TEST_SIGN_ITEM); + Registry.register(Registries.BLOCK_ENTITY_TYPE, Identifier.of(MOD_ID, "test_sign"), TEST_SIGN_BLOCK_ENTITY); } public static class TestSign extends SignBlockEntity { diff --git a/gradle.properties b/gradle.properties index db238a031..af9bb44b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx2560M org.gradle.parallel=true fabric.loom.multiProjectOptimisation=true -version=0.99.0 -minecraft_version=24w20a +version=0.99.1 +minecraft_version=24w21b yarn_version=+build.3 loader_version=0.15.11 installer_version=1.0.1 @@ -12,52 +12,52 @@ prerelease=true curseforge_minecraft_version=1.21-Snapshot # Do not manually update, use the bumpversions task: -fabric-api-base-version=0.4.41 -fabric-api-lookup-api-v1-version=1.6.62 -fabric-biome-api-v1-version=13.0.26 -fabric-block-api-v1-version=1.0.21 -fabric-block-view-api-v2-version=1.0.9 -fabric-blockrenderlayer-v1-version=1.1.51 -fabric-command-api-v1-version=1.2.46 -fabric-command-api-v2-version=2.2.25 -fabric-commands-v0-version=0.2.63 -fabric-content-registries-v0-version=8.0.8 -fabric-crash-report-info-v1-version=0.2.28 -fabric-data-attachment-api-v1-version=1.1.19 -fabric-data-generation-api-v1-version=20.2.0 -fabric-dimensions-v1-version=3.0.0 -fabric-entity-events-v1-version=1.6.10 -fabric-events-interaction-v0-version=0.7.9 -fabric-game-rule-api-v1-version=1.0.51 -fabric-gametest-api-v1-version=1.3.19 -fabric-item-api-v1-version=9.1.3 -fabric-item-group-api-v1-version=4.0.41 -fabric-key-binding-api-v1-version=1.0.46 -fabric-keybindings-v0-version=0.2.44 -fabric-lifecycle-events-v1-version=2.3.7 -fabric-loot-api-v2-version=3.0.7 -fabric-message-api-v1-version=6.0.12 -fabric-model-loading-api-v1-version=1.0.13 -fabric-models-v0-version=0.4.12 -fabric-networking-api-v1-version=4.0.10 -fabric-object-builder-api-v1-version=15.1.7 -fabric-particles-v1-version=4.0.1 -fabric-recipe-api-v1-version=5.0.5 -fabric-registry-sync-v0-version=5.0.18 -fabric-renderer-api-v1-version=3.2.13 -fabric-renderer-indigo-version=1.5.13 -fabric-renderer-registries-v1-version=3.2.63 -fabric-rendering-data-attachment-v1-version=0.3.47 -fabric-rendering-fluids-v1-version=3.1.4 -fabric-rendering-v0-version=1.1.66 -fabric-rendering-v1-version=5.0.0 -fabric-resource-conditions-api-v1-version=4.2.0 -fabric-resource-loader-v0-version=1.1.1 -fabric-screen-api-v1-version=2.0.22 -fabric-screen-handler-api-v1-version=1.3.75 -fabric-sound-api-v1-version=1.0.22 -fabric-transfer-api-v1-version=5.1.9 -fabric-transitive-access-wideners-v1-version=6.0.11 -fabric-convention-tags-v1-version=2.0.7 -fabric-convention-tags-v2-version=2.1.2 -fabric-client-tags-api-v1-version=1.1.14 +fabric-api-base-version=0.4.42 +fabric-api-lookup-api-v1-version=1.6.63 +fabric-biome-api-v1-version=13.0.27 +fabric-block-api-v1-version=1.0.22 +fabric-block-view-api-v2-version=1.0.10 +fabric-blockrenderlayer-v1-version=1.1.52 +fabric-command-api-v1-version=1.2.47 +fabric-command-api-v2-version=2.2.26 +fabric-commands-v0-version=0.2.64 +fabric-content-registries-v0-version=8.0.9 +fabric-crash-report-info-v1-version=0.2.29 +fabric-data-attachment-api-v1-version=1.1.20 +fabric-data-generation-api-v1-version=20.2.1 +fabric-dimensions-v1-version=3.0.1 +fabric-entity-events-v1-version=1.6.11 +fabric-events-interaction-v0-version=0.7.10 +fabric-game-rule-api-v1-version=1.0.52 +fabric-gametest-api-v1-version=1.3.20 +fabric-item-api-v1-version=10.0.0 +fabric-item-group-api-v1-version=4.0.42 +fabric-key-binding-api-v1-version=1.0.47 +fabric-keybindings-v0-version=0.2.45 +fabric-lifecycle-events-v1-version=2.3.8 +fabric-loot-api-v2-version=3.0.8 +fabric-message-api-v1-version=6.0.13 +fabric-model-loading-api-v1-version=1.0.14 +fabric-models-v0-version=0.4.13 +fabric-networking-api-v1-version=4.0.11 +fabric-object-builder-api-v1-version=15.1.8 +fabric-particles-v1-version=4.0.2 +fabric-recipe-api-v1-version=5.0.6 +fabric-registry-sync-v0-version=5.0.19 +fabric-renderer-api-v1-version=3.2.14 +fabric-renderer-indigo-version=1.6.0 +fabric-renderer-registries-v1-version=3.2.64 +fabric-rendering-data-attachment-v1-version=0.3.48 +fabric-rendering-fluids-v1-version=3.1.5 +fabric-rendering-v0-version=1.1.67 +fabric-rendering-v1-version=5.0.1 +fabric-resource-conditions-api-v1-version=4.2.1 +fabric-resource-loader-v0-version=1.1.2 +fabric-screen-api-v1-version=2.0.23 +fabric-screen-handler-api-v1-version=1.3.76 +fabric-sound-api-v1-version=1.0.23 +fabric-transfer-api-v1-version=5.1.10 +fabric-transitive-access-wideners-v1-version=6.0.12 +fabric-convention-tags-v1-version=2.0.8 +fabric-convention-tags-v2-version=2.1.3 +fabric-client-tags-api-v1-version=1.1.15