Finish converting most of the undeprecated api to jspecify
This commit is contained in:
parent
ba3c29b92e
commit
e7e1ab56ca
45 changed files with 1046 additions and 982 deletions
|
@ -6,20 +6,21 @@ Subject: [PATCH] ItemStack Tooltip API
|
|||
|
||||
diff --git a/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContext.java b/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContext.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..39ac768b3c5148544cb1aaf2c817e661f6856f64
|
||||
index 0000000000000000000000000000000000000000..7e16f2645e956cbac8d0fc75ba8209f67fd1835c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContext.java
|
||||
@@ -0,0 +1,75 @@
|
||||
@@ -0,0 +1,76 @@
|
||||
+package io.papermc.paper.inventory.tooltip;
|
||||
+
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.jetbrains.annotations.Contract;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+/**
|
||||
+ * Context for computing itemstack tooltips via
|
||||
+ * {@link org.bukkit.inventory.ItemStack#computeTooltipLines(TooltipContext, Player)}
|
||||
+ */
|
||||
+@NullMarked
|
||||
+public interface TooltipContext {
|
||||
+
|
||||
+ /**
|
||||
|
@ -31,7 +32,7 @@ index 0000000000000000000000000000000000000000..39ac768b3c5148544cb1aaf2c817e661
|
|||
+ * @return a new context
|
||||
+ */
|
||||
+ @Contract("_, _ -> new")
|
||||
+ static @NotNull TooltipContext create(final boolean advanced, final boolean creative) {
|
||||
+ static TooltipContext create(final boolean advanced, final boolean creative) {
|
||||
+ return new TooltipContextImpl(advanced, creative);
|
||||
+ }
|
||||
+
|
||||
|
@ -41,7 +42,7 @@ index 0000000000000000000000000000000000000000..39ac768b3c5148544cb1aaf2c817e661
|
|||
+ * @return a new context
|
||||
+ */
|
||||
+ @Contract("-> new")
|
||||
+ static @NotNull TooltipContext create() {
|
||||
+ static TooltipContext create() {
|
||||
+ return new TooltipContextImpl(false, false);
|
||||
+ }
|
||||
+
|
||||
|
@ -74,7 +75,7 @@ index 0000000000000000000000000000000000000000..39ac768b3c5148544cb1aaf2c817e661
|
|||
+ * @return a new context
|
||||
+ */
|
||||
+ @Contract("-> new")
|
||||
+ @NotNull TooltipContext asAdvanced();
|
||||
+ TooltipContext asAdvanced();
|
||||
+
|
||||
+ /**
|
||||
+ * Returns a new context with {@link #isCreative()}
|
||||
|
@ -83,27 +84,28 @@ index 0000000000000000000000000000000000000000..39ac768b3c5148544cb1aaf2c817e661
|
|||
+ * @return a new context
|
||||
+ */
|
||||
+ @Contract("-> new")
|
||||
+ @NotNull TooltipContext asCreative();
|
||||
+ TooltipContext asCreative();
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContextImpl.java b/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContextImpl.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c9c0ce750f93ae55e0b2d322a738919474d2d5dd
|
||||
index 0000000000000000000000000000000000000000..a649b90dfac6000c01579a48234a11383c731439
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/inventory/tooltip/TooltipContextImpl.java
|
||||
@@ -0,0 +1,16 @@
|
||||
@@ -0,0 +1,17 @@
|
||||
+package io.papermc.paper.inventory.tooltip;
|
||||
+
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+@NullMarked
|
||||
+record TooltipContextImpl(boolean isAdvanced, boolean isCreative) implements TooltipContext {
|
||||
+
|
||||
+ @Override
|
||||
+ public @NotNull TooltipContext asCreative() {
|
||||
+ public TooltipContext asCreative() {
|
||||
+ return new TooltipContextImpl(this.isAdvanced, true);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @NotNull TooltipContext asAdvanced() {
|
||||
+ public TooltipContext asAdvanced() {
|
||||
+ return new TooltipContextImpl(true, this.isCreative);
|
||||
+ }
|
||||
+}
|
||||
|
@ -119,7 +121,7 @@ index 141d5a964cc299284aecd4d34d57008a32f94247..31217b38e769f97801fa1afefeb223d1
|
|||
+ @NotNull java.util.List<net.kyori.adventure.text.Component> computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 43b8823d4af93febbd60d1b16b406a665373bacd..268baface3b58fba4f7c8a4d3f1b370fa1d26cee 100644
|
||||
index e6c69a54e0c1dc511fe5769f869dcecb13e04ed3..49390979cc0c68b8e719f2a2ce9e7d193c747959 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -1124,4 +1124,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue