Skip to content

Commit 7aa1553

Browse files
committed
Add core:registry
1 parent f8f6469 commit 7aa1553

36 files changed

Lines changed: 140 additions & 2078 deletions

fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/api/datagen/v1/provider/FabricDynamicRegistryProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/*
22
* Copyright (c) 2016, 2017, 2018, 2019 FabricMC
3+
* Copyright 2022 The Quilt Project
34
*
45
* Licensed under the Apache License, Version 2.0 (the "License");
56
* you may not use this file except in compliance with the License.
@@ -55,7 +56,6 @@
5556
import net.fabricmc.fabric.api.event.registry.DynamicRegistries;
5657
import net.fabricmc.fabric.api.resource.conditions.v1.ResourceCondition;
5758
import net.fabricmc.fabric.impl.datagen.FabricDataGenHelper;
58-
import net.fabricmc.fabric.impl.registry.sync.DynamicRegistriesImpl;
5959

6060
/**
6161
* A provider to help with data-generation of dynamic registry objects,
@@ -269,7 +269,7 @@ public CompletableFuture<?> run(DataWriter writer) {
269269

270270
private <T> CompletableFuture<?> writeRegistryEntries(DataWriter writer, RegistryOps<JsonElement> ops, RegistryEntries<T> entries) {
271271
final RegistryKey<? extends Registry<T>> registry = entries.registry;
272-
final boolean shouldOmitNamespace = registry.getValue().getNamespace().equals(Identifier.DEFAULT_NAMESPACE) || !DynamicRegistriesImpl.FABRIC_DYNAMIC_REGISTRY_KEYS.contains(registry);
272+
final boolean shouldOmitNamespace = registry.getValue().getNamespace().equals(Identifier.DEFAULT_NAMESPACE);
273273
final String directoryName = shouldOmitNamespace ? registry.getValue().getPath() : registry.getValue().getNamespace() + "/" + registry.getValue().getPath();
274274
final DataOutput.PathResolver pathResolver = output.getResolver(DataOutput.OutputType.DATA_PACK, directoryName);
275275
final List<CompletableFuture<?>> futures = new ArrayList<>();

fabric-registry-sync-v0/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ testDependencies(project, [
1313
':fabric-lifecycle-events-v1',
1414
':fabric-command-api-v2',
1515
])
16+
17+
dependencies {
18+
modApi getQslModule("core", "registry")
19+
}

fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/BlockColorsMixin.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/ClientRegistriesDynamicRegistriesMixin.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/ItemColorsMixin.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/ItemModelsMixin.java

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/*
22
* Copyright (c) 2016, 2017, 2018, 2019 FabricMC
3+
* Copyright 2022 The Quilt Project
34
*
45
* Licensed under the Apache License, Version 2.0 (the "License");
56
* you may not use this file except in compliance with the License.
@@ -25,36 +26,18 @@
2526
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2627

2728
import net.minecraft.client.MinecraftClient;
28-
import net.minecraft.client.gui.screen.Screen;
2929
import net.minecraft.item.ItemGroups;
30-
import net.minecraft.registry.Registries;
31-
32-
import net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager;
33-
import net.fabricmc.fabric.impl.registry.sync.RemapException;
34-
import net.fabricmc.fabric.impl.registry.sync.trackers.vanilla.BlockInitTracker;
3530

3631
@Mixin(MinecraftClient.class)
3732
public class MinecraftClientMixin {
3833
@Shadow
3934
@Final
4035
private static Logger LOGGER;
4136

42-
// Unmap the registry before loading a new SP/MP setup.
43-
@Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;Z)V")
44-
public void disconnectAfter(Screen disconnectionScreen, boolean bl, CallbackInfo ci) {
45-
try {
46-
RegistrySyncManager.unmap();
47-
} catch (RemapException e) {
48-
LOGGER.warn("Failed to unmap Fabric registries!", e);
49-
}
50-
}
51-
5237
@Inject(method = "<init>", at = @At(value = "INVOKE", target = "Ljava/lang/Thread;currentThread()Ljava/lang/Thread;"))
5338
private void afterModInit(CallbackInfo ci) {
5439
// Freeze the registries on the client
5540
LOGGER.debug("Freezing registries");
56-
Registries.bootstrap();
57-
BlockInitTracker.postFreeze();
5841
ItemGroups.collect();
5942
}
6043
}

fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/ParticleManagerMixin.java

Lines changed: 0 additions & 45 deletions
This file was deleted.

fabric-registry-sync-v0/src/client/resources/fabric-registry-sync-v0.client.mixins.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@
33
"package": "net.fabricmc.fabric.mixin.registry.sync.client",
44
"compatibilityLevel": "JAVA_17",
55
"client": [
6-
"BlockColorsMixin",
7-
"ClientRegistriesDynamicRegistriesMixin",
8-
"ItemColorsMixin",
9-
"ItemModelsMixin",
10-
"MinecraftClientMixin",
11-
"ParticleManagerMixin"
6+
"MinecraftClientMixin"
127
],
138
"injectors": {
149
"defaultRequire": 1

fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/api/event/registry/DynamicRegistries.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/*
22
* Copyright (c) 2016, 2017, 2018, 2019 FabricMC
3+
* Copyright 2022 The Quilt Project
34
*
45
* Licensed under the Apache License, Version 2.0 (the "License");
56
* you may not use this file except in compliance with the License.
@@ -25,7 +26,6 @@
2526
import net.minecraft.registry.RegistryKey;
2627
import net.minecraft.registry.RegistryLoader;
2728

28-
import net.fabricmc.fabric.impl.registry.sync.DynamicRegistriesImpl;
2929

3030
/**
3131
* Contains methods for registering and accessing dynamic {@linkplain Registry registries}.
@@ -73,7 +73,10 @@
7373
* // @link substring=registerSynced target="#registerSynced(RegistryKey, Codec, Codec, SyncOption...)":
7474
* DynamicRegistries.registerSynced(MY_DATA_KEY, MyData.CODEC, MyData.NETWORK_CODEC);
7575
* }
76+
*
77+
* @deprecated see {@link org.quiltmc.qsl.registry.api.dynamic.DynamicMetaRegistry}
7678
*/
79+
@Deprecated
7780
public final class DynamicRegistries {
7881
private DynamicRegistries() {
7982
}
@@ -86,7 +89,7 @@ private DynamicRegistries() {
8689
* @return an unmodifiable list of all dynamic registries
8790
*/
8891
public static @Unmodifiable List<RegistryLoader.Entry<?>> getDynamicRegistries() {
89-
return DynamicRegistriesImpl.getDynamicRegistries();
92+
return List.copyOf(RegistryLoader.SYNCED_REGISTRIES);
9093
}
9194

9295
/**
@@ -100,7 +103,7 @@ private DynamicRegistries() {
100103
* @param <T> the entry type of the registry
101104
*/
102105
public static <T> void register(RegistryKey<? extends Registry<T>> key, Codec<T> codec) {
103-
DynamicRegistriesImpl.register(key, codec);
106+
org.quiltmc.qsl.registry.api.dynamic.DynamicMetaRegistry.register(key, codec);
104107
}
105108

106109
/**
@@ -140,8 +143,7 @@ public static <T> void registerSynced(RegistryKey<? extends Registry<T>> key, Co
140143
* @param <T> the entry type of the registry
141144
*/
142145
public static <T> void registerSynced(RegistryKey<? extends Registry<T>> key, Codec<T> dataCodec, Codec<T> networkCodec, SyncOption... options) {
143-
DynamicRegistriesImpl.register(key, dataCodec);
144-
DynamicRegistriesImpl.addSyncedRegistry(key, networkCodec, options);
146+
org.quiltmc.qsl.registry.api.dynamic.DynamicMetaRegistry.registerSynced(key, dataCodec, networkCodec);
145147
}
146148

147149
/**

0 commit comments

Comments
 (0)