Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-14 20:10:05 +01:00
Owen fixing stuff!!!
Dieser Commit ist enthalten in:
Ursprung
5e7cd0784b
Commit
5a5412ca70
62
patches/api/0477-WIP-Tag-API.patch
Normale Datei
62
patches/api/0477-WIP-Tag-API.patch
Normale Datei
@ -0,0 +1,62 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||
Date: Sat, 15 Jun 2024 21:42:19 -0400
|
||||
Subject: [PATCH] WIP Tag API
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/tag/TagKey.java b/src/main/java/io/papermc/paper/registry/tag/TagKey.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..a49d328e95f7fda6567ee6c4f5f1878a2c187277
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/tag/TagKey.java
|
||||
@@ -0,0 +1,32 @@
|
||||
+package io.papermc.paper.registry.tag;
|
||||
+
|
||||
+import io.papermc.paper.registry.RegistryKey;
|
||||
+import net.kyori.adventure.key.Key;
|
||||
+import net.kyori.adventure.key.Keyed;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jetbrains.annotations.Contract;
|
||||
+
|
||||
+@ApiStatus.Experimental
|
||||
+public sealed interface TagKey<T> extends Keyed permits TagKeyImpl {
|
||||
+
|
||||
+ /**
|
||||
+ * Creates a new tag key for a registry.
|
||||
+ *
|
||||
+ * @param registryKey the registry for the tag
|
||||
+ * @param key the specific key for the tag
|
||||
+ * @return a new tag key
|
||||
+ * @param <T> the registry value type
|
||||
+ */
|
||||
+ @Contract(value = "_, _ -> new", pure = true)
|
||||
+ static <T> @NonNull TagKey<T> create(final @NonNull RegistryKey<T> registryKey, final @NonNull Key key) {
|
||||
+ return new TagKeyImpl<>(registryKey, key);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Get the registry key for this tag key.
|
||||
+ *
|
||||
+ * @return the registry key
|
||||
+ */
|
||||
+ @NonNull RegistryKey<T> registryKey();
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/tag/TagKeyImpl.java b/src/main/java/io/papermc/paper/registry/tag/TagKeyImpl.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..11d19e339c7c62f2eb4467277552c27e4e83069c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/registry/tag/TagKeyImpl.java
|
||||
@@ -0,0 +1,12 @@
|
||||
+package io.papermc.paper.registry.tag;
|
||||
+
|
||||
+import io.papermc.paper.registry.RegistryKey;
|
||||
+import net.kyori.adventure.key.Key;
|
||||
+import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
+import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+
|
||||
+@ApiStatus.Internal
|
||||
+@DefaultQualifier(NonNull.class)
|
||||
+record TagKeyImpl<T>(RegistryKey<T> registryKey, Key key) implements TagKey<T> {
|
||||
+}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren