Skip to content

Commit 89fe83d

Browse files
committed
add back renamed tags
1 parent 61992ee commit 89fe83d

4 files changed

Lines changed: 40 additions & 34 deletions

File tree

‎paper-api/src/main/java/org/bukkit/Tag.java‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,11 @@ public interface Tag<T extends Keyed> extends Keyed {
12961296
*/
12971297
@Deprecated(since = "26.2", forRemoval = true)
12981298
Tag<Material> CONCRETE_POWDER = CONCRETE_POWDERS;
1299+
/**
1300+
* @deprecated replaced by {@link #CONVERTIBLE_TO_MUD}
1301+
*/
1302+
@Deprecated(since = "26.3", forRemoval = true)
1303+
Tag<Material> CONVERTABLE_TO_MUD = CONVERTIBLE_TO_MUD;
12991304
/**
13001305
* Vanilla item tag representing all piglin food.
13011306
*

‎paper-generator/src/main/java/io/papermc/generator/Main.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public static CompletableFuture<Void> bootStrap(boolean withTags) {
108108
}).thenAccept(resources -> {
109109
resources.updateComponentsAndStaticRegistryTags();
110110
EXPERIMENTAL_TAGS = ExperimentalCollector.collectTags(resourceManager);
111+
System.out.println(EXPERIMENTAL_TAGS);
111112
});
112113
} else {
113114
EXPERIMENTAL_TAGS = Map.of();

‎paper-generator/src/main/java/io/papermc/generator/utils/experimental/ExperimentalCollector.java‎

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -51,76 +51,76 @@ public final class ExperimentalCollector {
5151

5252
static {
5353
EXPERIMENTAL_REGISTRY_ENTRIES = HashMultimap.create();
54-
for (final Map.Entry<RegistrySetBuilder, SingleFlagHolder> entry : EXPERIMENTAL_REGISTRY_FLAGS.entrySet()) {
55-
for (final RegistrySetBuilder.RegistryStub stub : entry.getKey().entries) {
54+
for (Map.Entry<RegistrySetBuilder, SingleFlagHolder> entry : EXPERIMENTAL_REGISTRY_FLAGS.entrySet()) {
55+
for (RegistrySetBuilder.RegistryStub stub : entry.getKey().entries) {
5656
stub.requiredRegistries().forEach(registry -> EXPERIMENTAL_REGISTRY_ENTRIES.put(registry, Map.entry(entry.getValue(), stub)));
5757
}
5858
}
5959
}
6060

6161
@SuppressWarnings("unchecked")
62-
public static <T> Map<ResourceKey<T>, SingleFlagHolder> collectDataDrivenElementIds(final Registry<T> registry) {
63-
final Collection<Map.Entry<SingleFlagHolder, RegistrySetBuilder.RegistryStub>> experimentalEntries = EXPERIMENTAL_REGISTRY_ENTRIES.get(registry.key());
62+
public static <T> Map<ResourceKey<T>, SingleFlagHolder> collectDataDrivenElementIds(Registry<T> registry) {
63+
Collection<Map.Entry<SingleFlagHolder, RegistrySetBuilder.RegistryStub>> experimentalEntries = EXPERIMENTAL_REGISTRY_ENTRIES.get(registry.key());
6464
if (experimentalEntries.isEmpty()) {
6565
return Collections.emptyMap();
6666
}
6767

68-
final HolderLookup.Provider staticRegistries = RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY);
69-
final HolderLookup.Provider vanillaWorldAccess = VanillaRegistries.createWorldLookup();
68+
HolderLookup.Provider staticRegistries = RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY);
69+
HolderLookup.Provider vanillaWorldAccess = VanillaRegistries.createWorldLookup();
7070

71-
final Map<ResourceKey<T>, SingleFlagHolder> result = new IdentityHashMap<>();
72-
for (final Map.Entry<SingleFlagHolder, RegistrySetBuilder.RegistryStub> entry : experimentalEntries) {
73-
final RegistrySetBuilder.BootstrappedRegistryState<?> registryAdditions = getRegistryAdditions(registry, entry.getValue(), staticRegistries, vanillaWorldAccess);
74-
result.putAll(registryAdditions.registeredValues().keySet().stream().collect(Collectors.toMap(k -> (ResourceKey<T>) k, _ -> entry.getKey())));
71+
Map<ResourceKey<T>, SingleFlagHolder> result = new IdentityHashMap<>();
72+
for (Map.Entry<SingleFlagHolder, RegistrySetBuilder.RegistryStub> entry : experimentalEntries) {
73+
RegistrySetBuilder.BootstrappedRegistryState<?> additions = getRegistryAdditions(registry, entry.getValue(), staticRegistries, vanillaWorldAccess);
74+
result.putAll(additions.registeredValues().keySet().stream().collect(Collectors.toMap(k -> (ResourceKey<T>) k, _ -> entry.getKey())));
7575
}
7676

77-
final List<RegistrySetBuilder.RegistryStub> vanillaStubs = VANILLA_REGISTRY_ENTRIES.get(registry.key());
77+
List<RegistrySetBuilder.RegistryStub> vanillaStubs = VANILLA_REGISTRY_ENTRIES.get(registry.key());
7878
if (vanillaStubs == null || vanillaStubs.isEmpty()) return result;
7979

80-
for (final RegistrySetBuilder.RegistryStub stub : vanillaStubs) {
81-
final RegistrySetBuilder.BootstrappedRegistryState<T> registryAdditions = getRegistryAdditions(registry, stub, staticRegistries, vanillaWorldAccess);
82-
registryAdditions.registeredValues().keySet().forEach(result::remove);
80+
for (RegistrySetBuilder.RegistryStub stub : vanillaStubs) {
81+
RegistrySetBuilder.BootstrappedRegistryState<T> additions = getRegistryAdditions(registry, stub, staticRegistries, vanillaWorldAccess);
82+
additions.registeredValues().keySet().forEach(result::remove);
8383
}
8484
return result;
8585
}
8686

8787
@SuppressWarnings("unchecked")
8888
private static <T> RegistrySetBuilder.@UnknownNullability BootstrappedRegistryState<T> getRegistryAdditions(
89-
final Registry<T> registry,
90-
final RegistrySetBuilder.RegistryStub stub,
91-
final HolderLookup.Provider staticRegistries,
92-
final HolderLookup.Provider vanillaWorldAccess
89+
Registry<T> registry,
90+
RegistrySetBuilder.RegistryStub stub,
91+
HolderLookup.Provider staticRegistries,
92+
HolderLookup.Provider vanillaWorldAccess
9393
) {
94-
final Set<ResourceKey<? extends Registry<?>>> registriesMissingFromPatch = RegistrySetBuilder.findRegistriesMissingFromPatch(
94+
Set<ResourceKey<? extends Registry<?>>> registriesMissingFromPatch = RegistrySetBuilder.findRegistriesMissingFromPatch(
9595
staticRegistries,
9696
vanillaWorldAccess,
9797
List.of(stub)
9898
);
99-
final List<RegistrySetBuilder.RegistryStub> stubs = Stream.concat(
99+
List<RegistrySetBuilder.RegistryStub> stubs = Stream.concat(
100100
Stream.of(stub),
101101
registriesMissingFromPatch.stream().map(RegistrySetBuilder::placeholderStub)
102102
).toList();
103103

104-
final RegistrySetBuilder.BuildState buildState = RegistrySetBuilder.BuildState.createAndApply(staticRegistries, stubs);
104+
RegistrySetBuilder.BuildState buildState = RegistrySetBuilder.BuildState.createAndApply(staticRegistries, stubs);
105105
return (RegistrySetBuilder.BootstrappedRegistryState<T>) buildState.bootstrappedRegistries().get(registry.key());
106106
}
107107

108108
// collect all the tags by grabbing the json from the data-packs
109109
// another (probably) way is to hook into the data generator like the typed keys generator
110-
public static Map<TagKey<?>, String> collectTags(final ResourceManager resourceManager) {
111-
final Map<TagKey<?>, String> result = new IdentityHashMap<>();
110+
public static Map<TagKey<?>, String> collectTags(ResourceManager resourceManager) {
111+
Map<TagKey<?>, String> result = new IdentityHashMap<>();
112112

113113
// collect all vanilla tags
114-
final Multimap<ResourceKey<? extends Registry<?>>, String> vanillaTags = HashMultimap.create();
115-
final PackResources vanillaPack = resourceManager.listPacks()
114+
Multimap<ResourceKey<? extends Registry<?>>, String> vanillaTags = HashMultimap.create();
115+
PackResources vanillaPack = resourceManager.listPacks()
116116
.filter(packResources -> packResources.packId().equals(BuiltInPackSource.VANILLA_ID))
117117
.findFirst()
118118
.orElseThrow();
119119
collectTagsFromPack(vanillaPack, (entry, path) -> vanillaTags.put(entry.key(), path));
120120

121121
// then distinct with other data-pack tags to know for sure newly created tags and so experimental one
122122
resourceManager.listPacks().forEach(pack -> {
123-
final String packId = pack.packId();
123+
String packId = pack.packId();
124124
if (packId.equals(BuiltInPackSource.VANILLA_ID)) return;
125125

126126
collectTagsFromPack(pack, (entry, path) -> {
@@ -137,15 +137,15 @@ public static Map<TagKey<?>, String> collectTags(final ResourceManager resourceM
137137
return Collections.unmodifiableMap(result);
138138
}
139139

140-
private static void collectTagsFromPack(final PackResources pack, final BiConsumer<RegistryAccess.RegistryEntry<?>, String> output) {
141-
final Set<String> namespaces = pack.getNamespaces(PackType.SERVER_DATA);
140+
private static void collectTagsFromPack(PackResources pack, BiConsumer<RegistryAccess.RegistryEntry<?>, String> output) {
141+
Set<String> namespaces = pack.getNamespaces(PackType.SERVER_DATA);
142142

143-
for (final String namespace : namespaces) {
143+
for (String namespace : namespaces) {
144144
Main.REGISTRY_ACCESS.registries().forEach(entry -> {
145145
// this is probably expensive but can't find another way around and data-pack loader has similar logic
146146
// the issue is that registry key can have parent/key but tag key can also have parent/key so parsing become a mess
147147
// without having at least one of the two values
148-
final String tagDir = Registries.tagsDirPath(entry.key());
148+
String tagDir = Registries.tagsDirPath(entry.key());
149149
pack.listResources(PackType.SERVER_DATA, namespace, tagDir, (id, supplier) -> {
150150
Formatting.formatTagKey(tagDir, id.getPath()).ifPresentOrElse(path -> output.accept(entry, path), () -> {
151151
LOGGER.warn("Unable to parse the path: {}/{}/{}.json in the data-pack {} into a tag key", namespace, tagDir, id.getPath(), pack.packId());

‎paper-generator/wideners.at‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ public net/minecraft/world/level/material/MapColor MATERIAL_COLORS
22

33
# for auto-marking experimental stuff
44
public net/minecraft/core/RegistrySetBuilder entries
5+
public net/minecraft/core/RegistrySetBuilder findRegistriesMissingFromPatch(Lnet/minecraft/core/HolderLookup$Provider;Lnet/minecraft/core/HolderLookup$Provider;Ljava/util/List;)Ljava/util/Set;
6+
public net/minecraft/core/RegistrySetBuilder placeholderStub(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/RegistrySetBuilder$RegistryStub;
7+
public net/minecraft/core/RegistrySetBuilder$BuildState
8+
public net/minecraft/core/RegistrySetBuilder$BootstrappedRegistryState
59
public net/minecraft/core/RegistrySetBuilder$RegistryStub
610
public net/minecraft/data/registries/VanillaRegistries WORLD_BUILDER
711
public net/minecraft/data/registries/TradeRebalanceRegistries WORLD_BUILDER
812
public net/minecraft/world/flag/FeatureFlagRegistry names
913
public net/minecraft/world/flag/FeatureFlagSet mask
10-
public net/minecraft/core/RegistrySetBuilder$BuildState
11-
public net/minecraft/core/RegistrySetBuilder$BootstrappedRegistryState
12-
public net/minecraft/core/RegistrySetBuilder findRegistriesMissingFromPatch(Lnet/minecraft/core/HolderLookup$Provider;Lnet/minecraft/core/HolderLookup$Provider;Ljava/util/List;)Ljava/util/Set;
13-
public net/minecraft/core/RegistrySetBuilder placeholderStub(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/RegistrySetBuilder$RegistryStub;

0 commit comments

Comments
 (0)