[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 committed by GitHub
parent b14958485d
commit a9201d4a7d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 208 additions and 108 deletions

View file

@ -144,7 +144,7 @@ index dc66bd69646ac949d1386ce8f6ff913e9475439d..4482e8f2c617c2f51b2b53762e775d11
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index feebabf946913263461e1d0f13a478cf4bfd0f68..d6e2ec415eab4f55fd925a3b0982e869befbd088 100644
index feebabf946913263461e1d0f13a478cf4bfd0f68..ebf505bbdc1b44d1fcd3c30f4143f6e5b89d09e9 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -129,7 +129,7 @@ import org.jetbrains.annotations.Nullable;
@ -156,23 +156,25 @@ index feebabf946913263461e1d0f13a478cf4bfd0f68..d6e2ec415eab4f55fd925a3b0982e869
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
STONE(22948),
@@ -4743,6 +4743,15 @@ public enum Material implements Keyed, Translatable {
}
return false;
@@ -4745,6 +4745,17 @@ public enum Material implements Keyed, Translatable {
}
+
// 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
+
/**
@@ -5494,9 +5503,11 @@ public enum Material implements Keyed, Translatable {
* Do not use for any reason.
*
@@ -5494,9 +5505,11 @@ public enum Material implements Keyed, Translatable {
* material
* @see #getBlockTranslationKey()
* @see #getItemTranslationKey()
@ -309,6 +311,33 @@ index bf29d9b733afc7c62725d259f4920c4f211cc6d0..1d3812db989a55b6f31bb30dffe70323
+ 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 95cedd536fed5a195fb2dd76da1c451598250f53..d4e824ad18714b951cf161031a9566e6796ab507 100644
--- a/src/main/java/org/bukkit/block/BlockType.java
+++ b/src/main/java/org/bukkit/block/BlockType.java
@@ -125,7 +125,7 @@ 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
@@ -3602,4 +3602,13 @@ 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 f4ec7891bdcedc73bff6938e3eddb7ee43d23ec1..4e41980dfbb256356231bc9565f6a90ea66aab76 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
@ -517,3 +546,30 @@ index 066f99a1f4cc42cf0e87d495f97a0685817dfa18..23686519b8c1338dd6e9f1c5a0e73467
+ }
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
index aa0f66b7187c800cd22905bfa43af3ffb53edb5f..3d30c4957a2950ac8d4635ed7bb9bf39ca8cd158 100644
--- a/src/main/java/org/bukkit/inventory/ItemType.java
+++ b/src/main/java/org/bukkit/inventory/ItemType.java
@@ -49,7 +49,7 @@ 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
@@ -2419,4 +2419,13 @@ 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
}