mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-03 21:52:05 -07:00
[ci skip] use more jspecify in server
This commit is contained in:
@@ -22,14 +22,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
import java.util.Collections;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
@@ -0,0 +0,0 @@ import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
@@ -0,0 +0,0 @@ import org.jspecify.annotations.Nullable;
|
||||
|
||||
import static io.papermc.paper.registry.entry.RegistryEntry.apiOnly;
|
||||
import static io.papermc.paper.registry.entry.RegistryEntry.entry;
|
||||
+import static io.papermc.paper.registry.entry.RegistryEntry.writable;
|
||||
|
||||
@DefaultQualifier(NonNull.class)
|
||||
public final class PaperRegistries {
|
||||
|
||||
@@ -0,0 +0,0 @@ public final class PaperRegistries {
|
||||
return ResourceKey.create((ResourceKey<? extends Registry<M>>) PaperRegistries.registryToNms(typedKey.registryKey()), PaperAdventure.asVanilla(typedKey.key()));
|
||||
}
|
||||
@@ -74,8 +74,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+package io.papermc.paper.registry;
|
||||
+
|
||||
+import io.papermc.paper.registry.data.util.Conversions;
|
||||
+import net.minecraft.resources.RegistryOps;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
+
|
||||
+public interface PaperRegistryBuilder<M, T> extends RegistryBuilder<T> {
|
||||
+
|
||||
@@ -133,8 +132,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import net.minecraft.core.registries.BuiltInRegistries;
|
||||
+import net.minecraft.resources.ResourceKey;
|
||||
+import net.minecraft.resources.ResourceLocation;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.intellij.lang.annotations.Subst;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
+
|
||||
+public class PaperRegistryListenerManager {
|
||||
+
|
||||
@@ -201,7 +200,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ final Conversions conversions
|
||||
+ ) {
|
||||
+ Preconditions.checkState(LaunchEntryPointHandler.INSTANCE.hasEntered(Entrypoint.BOOTSTRAPPER), registry.key() + " tried to run modification listeners before bootstrappers have been called"); // verify that bootstrappers have been called
|
||||
+ final @Nullable RegistryEntryInfo<M, T> entry = PaperRegistries.getEntry(registry.key());
|
||||
+ final RegistryEntryInfo<M, T> entry = PaperRegistries.getEntry(registry.key());
|
||||
+ if (!RegistryEntry.Modifiable.isModifiable(entry) || !this.valueAddEventTypes.hasHandlers(entry.apiKey())) {
|
||||
+ return registerMethod.register((WritableRegistry<M>) registry, key, nms, registrationInfo);
|
||||
+ }
|
||||
@@ -262,7 +261,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ }
|
||||
+
|
||||
+ public <M, T extends org.bukkit.Keyed, B extends PaperRegistryBuilder<M, T>> void runFreezeListeners(final ResourceKey<? extends Registry<M>> resourceKey, final Conversions conversions) {
|
||||
+ final @Nullable RegistryEntryInfo<M, T> entry = PaperRegistries.getEntry(resourceKey);
|
||||
+ final RegistryEntryInfo<M, T> entry = PaperRegistries.getEntry(resourceKey);
|
||||
+ if (!RegistryEntry.Addable.isAddable(entry) || !this.freezeEventTypes.hasHandlers(entry.apiKey())) {
|
||||
+ return;
|
||||
+ }
|
||||
@@ -341,7 +340,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import org.bukkit.NamespacedKey;
|
||||
+import org.bukkit.craftbukkit.CraftRegistry;
|
||||
+import org.bukkit.craftbukkit.util.ApiVersion;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
+
|
||||
+public class WritableCraftRegistry<M, T extends Keyed, B extends PaperRegistryBuilder<M, T>> extends CraftRegistry<T, M> {
|
||||
+
|
||||
@@ -428,12 +427,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import io.papermc.paper.adventure.WrapperAwareSerializer;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import net.minecraft.resources.RegistryOps;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jetbrains.annotations.Contract;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public class Conversions {
|
||||
+
|
||||
+ private final RegistryOps.RegistryInfoLookup lookup;
|
||||
@@ -458,6 +454,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ return vanilla == null ? Component.empty() : this.serializer.deserialize(vanilla);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/data/util/package-info.java b/src/main/java/io/papermc/paper/registry/data/util/package-info.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/data/util/package-info.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+@NullMarked
|
||||
+package io.papermc.paper.registry.data.util;
|
||||
+
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/entry/AddableRegistryEntry.java b/src/main/java/io/papermc/paper/registry/entry/AddableRegistryEntry.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
@@ -564,14 +570,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
import io.papermc.paper.registry.legacy.DelayedRegistryEntry;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Supplier;
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.Keyed;
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.resources.ResourceKey;
|
||||
import org.bukkit.Keyed;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.craftbukkit.util.ApiVersion;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
|
||||
public interface RegistryEntry<M, B extends Keyed> extends RegistryEntryInfo<M, B> { // TODO remove Keyed
|
||||
|
||||
@DefaultQualifier(NonNull.class)
|
||||
@@ -0,0 +0,0 @@ public interface RegistryEntry<M, B extends Keyed> extends RegistryEntryInfo<M,
|
||||
return new DelayedRegistryEntry<>(this);
|
||||
}
|
||||
@@ -711,7 +717,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import net.minecraft.core.HolderSet;
|
||||
+import net.minecraft.resources.RegistryOps;
|
||||
+import org.bukkit.Keyed;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+
|
||||
+public record RegistryEntryAddEventImpl<T, B extends RegistryBuilder<T>>(
|
||||
+ TypedKey<T> key,
|
||||
@@ -721,7 +726,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+) implements RegistryEntryAddEvent<T, B>, PaperLifecycleEvent {
|
||||
+
|
||||
+ @Override
|
||||
+ public @NonNull <V extends Keyed> Tag<V> getOrCreateTag(final TagKey<V> tagKey) {
|
||||
+ public <V extends Keyed> Tag<V> getOrCreateTag(final TagKey<V> tagKey) {
|
||||
+ final RegistryOps.RegistryInfo<Object> registryInfo = this.conversions.lookup().lookup(PaperRegistries.registryToNms(tagKey.registryKey())).orElseThrow();
|
||||
+ final HolderSet.Named<?> tagSet = registryInfo.getter().getOrThrow(PaperRegistries.toNms(tagKey));
|
||||
+ return new NamedRegistryKeySetImpl<>(tagKey, tagSet);
|
||||
@@ -827,7 +832,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import net.minecraft.core.HolderSet;
|
||||
+import net.minecraft.resources.RegistryOps;
|
||||
+import org.bukkit.Keyed;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+
|
||||
+public record RegistryFreezeEventImpl<T, B extends RegistryBuilder<T>>(
|
||||
+ RegistryKey<T> registryKey,
|
||||
@@ -836,7 +840,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+) implements RegistryFreezeEvent<T, B>, PaperLifecycleEvent {
|
||||
+
|
||||
+ @Override
|
||||
+ public @NonNull <V extends Keyed> Tag<V> getOrCreateTag(final TagKey<V> tagKey) {
|
||||
+ public <V extends Keyed> Tag<V> getOrCreateTag(final TagKey<V> tagKey) {
|
||||
+ final RegistryOps.RegistryInfo<Object> registryInfo = this.conversions.lookup().lookup(PaperRegistries.registryToNms(tagKey.registryKey())).orElseThrow();
|
||||
+ final HolderSet.Named<?> tagSet = registryInfo.getter().getOrThrow(PaperRegistries.toNms(tagKey));
|
||||
+ return new NamedRegistryKeySetImpl<>(tagKey, tagSet);
|
||||
@@ -848,11 +852,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/event/package-info.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+@NullMarked
|
||||
+package io.papermc.paper.registry.event;
|
||||
+
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/event/type/RegistryEntryAddEventTypeImpl.java b/src/main/java/io/papermc/paper/registry/event/type/RegistryEntryAddEventTypeImpl.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
@@ -912,8 +915,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import io.papermc.paper.registry.TypedKey;
|
||||
+import io.papermc.paper.registry.event.RegistryEntryAddEvent;
|
||||
+import java.util.function.Predicate;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.jetbrains.annotations.Contract;
|
||||
+import org.jspecify.annotations.Nullable;
|
||||
+
|
||||
+public class RegistryEntryAddHandlerConfiguration<T, B extends RegistryBuilder<T>> extends PrioritizedLifecycleEventHandlerConfigurationImpl<BootstrapContext, RegistryEntryAddEvent<T, B>> implements RegistryEntryAddConfiguration<T> {
|
||||
+
|
||||
@@ -968,6 +971,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ return false; // only runs once
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/event/type/package-info.java b/src/main/java/io/papermc/paper/registry/event/type/package-info.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/event/type/package-info.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+@NullMarked
|
||||
+package io.papermc.paper.registry.event.type;
|
||||
+
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/legacy/DelayedRegistry.java b/src/main/java/io/papermc/paper/registry/legacy/DelayedRegistry.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/io/papermc/paper/registry/legacy/DelayedRegistry.java
|
||||
@@ -980,16 +993,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
import java.util.Iterator;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Stream;
|
||||
@@ -0,0 +0,0 @@ import net.kyori.adventure.key.Key;
|
||||
import org.bukkit.Keyed;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.Registry;
|
||||
-import org.bukkit.craftbukkit.CraftRegistry;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -0,0 +0,0 @@ public final class DelayedRegistry<T extends Keyed, R extends Registry<T>> imple
|
||||
public NamespacedKey getKey(final T value) {
|
||||
public @Nullable NamespacedKey getKey(final T value) {
|
||||
return this.delegate().getKey(value);
|
||||
}
|
||||
+
|
||||
@@ -1003,17 +1008,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ return this.delegate().getTag(key);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/package-info.java b/src/main/java/io/papermc/paper/registry/package-info.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/package-info.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+package io.papermc.paper.registry;
|
||||
+
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/set/NamedRegistryKeySetImpl.java b/src/main/java/io/papermc/paper/registry/set/NamedRegistryKeySetImpl.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
@@ -1039,12 +1033,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import org.bukkit.NamespacedKey;
|
||||
+import org.bukkit.Registry;
|
||||
+import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jetbrains.annotations.Unmodifiable;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+@NullMarked
|
||||
+public record NamedRegistryKeySetImpl<T extends Keyed, M>( // TODO remove Keyed
|
||||
+ TagKey<T> tagKey,
|
||||
+ HolderSet.Named<M> namedSet
|
||||
@@ -1091,7 +1083,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @NotNull NamespacedKey getKey() {
|
||||
+ public NamespacedKey getKey() {
|
||||
+ final Key key = this.tagKey().key();
|
||||
+ return new NamespacedKey(key.namespace(), key.value());
|
||||
+ }
|
||||
@@ -1115,10 +1107,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import net.minecraft.resources.RegistryOps;
|
||||
+import net.minecraft.resources.ResourceKey;
|
||||
+import org.bukkit.Keyed;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+public final class PaperRegistrySets {
|
||||
+
|
||||
+ public static <A extends Keyed, M> HolderSet<M> convertToNms(final ResourceKey<? extends Registry<M>> resourceKey, final RegistryOps.RegistryInfoLookup lookup, final RegistryKeySet<A> registryKeySet) { // TODO remove Keyed
|
||||
@@ -1150,6 +1139,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ private PaperRegistrySets() {
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/set/package-info.java b/src/main/java/io/papermc/paper/registry/set/package-info.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/set/package-info.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+@NullMarked
|
||||
+package io.papermc.paper.registry.set;
|
||||
+
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
diff --git a/src/main/java/net/minecraft/core/MappedRegistry.java b/src/main/java/net/minecraft/core/MappedRegistry.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/core/MappedRegistry.java
|
||||
|
Reference in New Issue
Block a user