[ci skip] Move logic in our patches to ItemType/BlockType (#10772)

This commit is contained in:
Jake Potrebic
2024-05-23 10:32:02 -07:00
parent c7e42591dd
commit 98853ee548
12 changed files with 177 additions and 77 deletions

View File

@@ -157,21 +157,23 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
AIR(9648, 0),
STONE(22948),
@@ -0,0 +0,0 @@ public enum Material implements Keyed, Translatable {
}
return false;
}
+
// Paper end
+ // Paper start - add Translatable
+ @Override
+ public @NotNull String translationKey() {
+ if (this.isItem()) {
+ return Bukkit.getUnsafe().getItemTranslationKey(this);
+ return java.util.Objects.requireNonNull(this.asItemType()).translationKey();
+ } else {
+ return Bukkit.getUnsafe().getBlockTranslationKey(this);
+ return java.util.Objects.requireNonNull(this.asBlockType()).translationKey();
+ }
+ }
// Paper end
+ // Paper end - add Translatable
+
/**
* Do not use for any reason.
*
@@ -0,0 +0,0 @@ public enum Material implements Keyed, Translatable {
* material
* @see #getBlockTranslationKey()
@@ -309,6 +311,33 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ String getTranslationKey();
// Paper end
}
diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/block/BlockType.java
+++ b/src/main/java/org/bukkit/block/BlockType.java
@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
* changes may occur. Do not use this API in plugins.
*/
@ApiStatus.Internal
-public interface BlockType extends Keyed, Translatable {
+public interface BlockType extends Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - add translatable
/**
* Typed represents a subtype of {@link BlockType}s that have a known block
@@ -0,0 +0,0 @@ public interface BlockType extends Keyed, Translatable {
@Nullable
@Deprecated
Material asMaterial();
+
+ // Paper start - add Translatable
+ /**
+ * @deprecated use {@link #translationKey()} and {@link net.kyori.adventure.text.Component#translatable(net.kyori.adventure.translation.Translatable)}
+ */
+ @Deprecated(forRemoval = true)
+ @Override
+ @NotNull String getTranslationKey();
+ // Paper end - add Translatable
}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -517,3 +546,30 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/inventory/ItemType.java
+++ b/src/main/java/org/bukkit/inventory/ItemType.java
@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
* changes may occur. Do not use this API in plugins.
*/
@ApiStatus.Internal
-public interface ItemType extends Keyed, Translatable {
+public interface ItemType extends Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - add Translatable
/**
* Typed represents a subtype of {@link ItemType}s that have a known item meta type
@@ -0,0 +0,0 @@ public interface ItemType extends Keyed, Translatable {
@Nullable
@Deprecated
Material asMaterial();
+
+ // Paper start - add Translatable
+ /**
+ * @deprecated use {@link #translationKey()} and {@link net.kyori.adventure.text.Component#translatable(net.kyori.adventure.translation.Translatable)}
+ */
+ @Deprecated(forRemoval = true)
+ @Override
+ @NotNull String getTranslationKey();
+ // Paper end - add Translatable
}