mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 04:31:58 +01:00
03a4e7ac75
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 37262de8 PR-812: Add Registry#match(String) d6b40162 SPIGOT-4569: Add more BlockData API f9691891 PR-809: Throw a more clear error for BlockIterators with zero direction, add Vector#isZero() 91e79e19 PR-804: Added methods to get translation keys for materials, itemstacks and more 426b00d3 PR-795: Add new BiomeParameterPoint passed to BiomeProvider#getBiome 0e91ea52 SPIGOT-7224: Add events for brewing stands and campfires starting their actions CraftBukkit Changes: a50301aa5 Fix issues with fluid tag conversion and fluid #isTagged 6aeb5e4c3 SPIGOT-4569: Implement more BlockData API 7dbf862c2 PR-1131: Added methods to get translation keys for materials, itemstacks and more 7167588b1 PR-1117: Add new BiomeParameterPoint passed to BiomeProvider#getBiome 7c44152eb SPIGOT-7224: Add events for brewing stands and campfires starting their actions
489 lines
19 KiB
Diff
489 lines
19 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Tue, 11 Aug 2020 19:17:46 +0200
|
|
Subject: [PATCH] Add methods to get translation keys
|
|
|
|
Co-authored-by: MeFisto94 <MeFisto94@users.noreply.github.com>
|
|
|
|
diff --git a/src/main/java/org/bukkit/Difficulty.java b/src/main/java/org/bukkit/Difficulty.java
|
|
index 3f6cbefc2b1414ba2dad709e79288013b3ef73be..122884098f08c9aa5e144876746b5ce4e8f1a4b6 100644
|
|
--- a/src/main/java/org/bukkit/Difficulty.java
|
|
+++ b/src/main/java/org/bukkit/Difficulty.java
|
|
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents the various difficulty levels that are available.
|
|
*/
|
|
-public enum Difficulty {
|
|
+public enum Difficulty implements net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
|
|
/**
|
|
* Players regain health over time, hostile mobs don't spawn, the hunger
|
|
* bar does not deplete.
|
|
@@ -51,6 +51,12 @@ public enum Difficulty {
|
|
return value;
|
|
}
|
|
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public @org.jetbrains.annotations.NotNull String translationKey() {
|
|
+ return "options.difficulty." + this.name().toLowerCase(java.util.Locale.ENGLISH);
|
|
+ }
|
|
+ // Paper end
|
|
/**
|
|
* Gets the Difficulty represented by the specified value
|
|
*
|
|
diff --git a/src/main/java/org/bukkit/FireworkEffect.java b/src/main/java/org/bukkit/FireworkEffect.java
|
|
index bf7db5b3e7c2ac15016a48e520fba674726718ee..637fa73d4366c2d88e2716e5c8d3465706d788a7 100644
|
|
--- a/src/main/java/org/bukkit/FireworkEffect.java
|
|
+++ b/src/main/java/org/bukkit/FireworkEffect.java
|
|
@@ -18,28 +18,44 @@ public final class FireworkEffect implements ConfigurationSerializable {
|
|
/**
|
|
* The type or shape of the effect.
|
|
*/
|
|
- public enum Type {
|
|
+ public enum Type implements net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
|
|
/**
|
|
* A small ball effect.
|
|
*/
|
|
- BALL,
|
|
+ BALL("small_ball"), // Paper - add name
|
|
/**
|
|
* A large ball effect.
|
|
*/
|
|
- BALL_LARGE,
|
|
+ BALL_LARGE("large_ball"), // Paper - add name
|
|
/**
|
|
* A star-shaped effect.
|
|
*/
|
|
- STAR,
|
|
+ STAR("star"), // Paper - add name
|
|
/**
|
|
* A burst effect.
|
|
*/
|
|
- BURST,
|
|
+ BURST("burst"), // Paper - add name
|
|
/**
|
|
* A creeper-face effect.
|
|
*/
|
|
- CREEPER,
|
|
+ CREEPER("creeper"), // Paper - add name
|
|
;
|
|
+ // Paper start
|
|
+ /**
|
|
+ * The name map.
|
|
+ */
|
|
+ public static final net.kyori.adventure.util.Index<String, org.bukkit.FireworkEffect.Type> NAMES = net.kyori.adventure.util.Index.create(Type.class, type -> type.name);
|
|
+ private final String name;
|
|
+
|
|
+ Type(final String name) {
|
|
+ this.name = name;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return "item.minecraft.firework_star.shape." + this.name;
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/GameMode.java b/src/main/java/org/bukkit/GameMode.java
|
|
index 938c3217f92e6d3ef9a637269c469f8359af6347..ef49495909a37d718a87d5dfbcd644d46e27fa88 100644
|
|
--- a/src/main/java/org/bukkit/GameMode.java
|
|
+++ b/src/main/java/org/bukkit/GameMode.java
|
|
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Represents the various type of game modes that {@link HumanEntity}s may
|
|
* have
|
|
*/
|
|
-public enum GameMode {
|
|
+public enum GameMode implements net.kyori.adventure.translation.Translatable { // Paper - implement Translatable
|
|
/**
|
|
* Creative mode may fly, build instantly, become invulnerable and create
|
|
* free items.
|
|
@@ -35,9 +35,18 @@ public enum GameMode {
|
|
|
|
private final int value;
|
|
private static final Map<Integer, GameMode> BY_ID = Maps.newHashMap();
|
|
+ // Paper start - translation keys
|
|
+ private final String translationKey;
|
|
+
|
|
+ @Override
|
|
+ public @org.jetbrains.annotations.NotNull String translationKey() {
|
|
+ return this.translationKey;
|
|
+ }
|
|
+ // Paper end
|
|
|
|
private GameMode(final int value) {
|
|
this.value = value;
|
|
+ this.translationKey = "gameMode." + this.name().toLowerCase(java.util.Locale.ENGLISH); // Paper
|
|
}
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/GameRule.java b/src/main/java/org/bukkit/GameRule.java
|
|
index 0a66077d152a3c89fa7a277663969767798eb100..b02490737409eb80a2d2fb275c9a60b6078a8133 100644
|
|
--- a/src/main/java/org/bukkit/GameRule.java
|
|
+++ b/src/main/java/org/bukkit/GameRule.java
|
|
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
|
|
*
|
|
* @param <T> type of rule (Boolean or Integer)
|
|
*/
|
|
-public final class GameRule<T> {
|
|
+public final class GameRule<T> implements net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
|
|
|
|
private static Map<String, GameRule<?>> gameRules = new HashMap<>();
|
|
// Boolean rules
|
|
@@ -314,4 +314,11 @@ public final class GameRule<T> {
|
|
public static GameRule<?>[] values() {
|
|
return gameRules.values().toArray(new GameRule<?>[gameRules.size()]);
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return "gamerule." + this.name;
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
|
index e883bb46461eb40b018ebe8c07caff96046fd11d..89af89e5fb49e202e80ea7688c62f8e119f4ddfe 100644
|
|
--- a/src/main/java/org/bukkit/Material.java
|
|
+++ b/src/main/java/org/bukkit/Material.java
|
|
@@ -113,7 +113,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* An enum of all material IDs accepted by the official server and client
|
|
*/
|
|
@SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper
|
|
-public enum Material implements Keyed, Translatable {
|
|
+public enum Material implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper
|
|
//<editor-fold desc="Materials" defaultstate="collapsed">
|
|
AIR(9648, 0),
|
|
STONE(22948),
|
|
@@ -4288,6 +4288,15 @@ public enum Material implements Keyed, Translatable {
|
|
}
|
|
return false;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ if (this.isItem()) {
|
|
+ return Bukkit.getUnsafe().getItemTranslationKey(this);
|
|
+ } else {
|
|
+ return Bukkit.getUnsafe().getBlockTranslationKey(this);
|
|
+ }
|
|
+ }
|
|
// Paper end
|
|
|
|
/**
|
|
@@ -10596,9 +10605,11 @@ public enum Material implements Keyed, Translatable {
|
|
* material
|
|
* @see #getBlockTranslationKey()
|
|
* @see #getItemTranslationKey()
|
|
+ * @deprecated use {@link #translationKey()}
|
|
*/
|
|
@Override
|
|
@NotNull
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
public String getTranslationKey() {
|
|
if (this.isItem()) {
|
|
return Bukkit.getUnsafe().getItemTranslationKey(this);
|
|
diff --git a/src/main/java/org/bukkit/Translatable.java b/src/main/java/org/bukkit/Translatable.java
|
|
index e3faa2c675c85a9cbdbbb1debec0ff81c58a1bbd..fd1629c2d2028a88fb3d56b0aeb833d17235080a 100644
|
|
--- a/src/main/java/org/bukkit/Translatable.java
|
|
+++ b/src/main/java/org/bukkit/Translatable.java
|
|
@@ -5,14 +5,18 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Represents an object with a text representation that can be translated by the
|
|
* Minecraft client.
|
|
+ * @deprecated use {@link net.kyori.adventure.translation.Translatable}
|
|
*/
|
|
+@Deprecated(forRemoval = true) // Paper
|
|
public interface Translatable {
|
|
|
|
/**
|
|
* Get the translation key, suitable for use in a translation component.
|
|
*
|
|
* @return the translation key
|
|
+ * @deprecated look for a {@code translationKey()} method instead
|
|
*/
|
|
@NotNull
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
String getTranslationKey();
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/attribute/Attribute.java b/src/main/java/org/bukkit/attribute/Attribute.java
|
|
index 13eac9ad2c1672051635d1c35cc49239252e7a61..107e36ef02a9481954bd770ce9a55a0b1e84be7a 100644
|
|
--- a/src/main/java/org/bukkit/attribute/Attribute.java
|
|
+++ b/src/main/java/org/bukkit/attribute/Attribute.java
|
|
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Types of attributes which may be present on an {@link Attributable}.
|
|
*/
|
|
-public enum Attribute implements Keyed {
|
|
+public enum Attribute implements Keyed, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
|
|
|
|
/**
|
|
* Maximum health of an Entity.
|
|
@@ -73,4 +73,10 @@ public enum Attribute implements Keyed {
|
|
public NamespacedKey getKey() {
|
|
return key;
|
|
}
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return "attribute.name." + this.key.getKey();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java
|
|
index 02c5fcbc76b2db6bf4eb7580456b5658c08272b4..d56e1b50dd7da18f40278cec4bfdc9414aae0be1 100644
|
|
--- a/src/main/java/org/bukkit/block/Biome.java
|
|
+++ b/src/main/java/org/bukkit/block/Biome.java
|
|
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Holds all accepted Biomes in the default server
|
|
*/
|
|
-public enum Biome implements Keyed {
|
|
+public enum Biome implements Keyed, net.kyori.adventure.translation.Translatable { // Paper
|
|
OCEAN,
|
|
PLAINS,
|
|
DESERT,
|
|
@@ -88,4 +88,11 @@ public enum Biome implements Keyed {
|
|
public NamespacedKey getKey() {
|
|
return key;
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return "biome.minecraft." + this.key.getKey();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
|
index 06ef9e133125d80127e1dbd6ae0eda89fa08a1d7..35ed58bce2589bb097dd0f6bf2a6ebd76dc31fcd 100644
|
|
--- a/src/main/java/org/bukkit/block/Block.java
|
|
+++ b/src/main/java/org/bukkit/block/Block.java
|
|
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* (i.e. lighting and power) may not be able to be safely accessed during world
|
|
* generation when used in cases like BlockPhysicsEvent!!!!
|
|
*/
|
|
-public interface Block extends Metadatable, Translatable {
|
|
+public interface Block extends Metadatable, Translatable, net.kyori.adventure.translation.Translatable { // Paper - translatable
|
|
|
|
/**
|
|
* Gets the metadata for this block
|
|
@@ -673,5 +673,12 @@ public interface Block extends Metadatable, Translatable {
|
|
* @return the sound group for this block
|
|
*/
|
|
@NotNull org.bukkit.SoundGroup getBlockSoundGroup();
|
|
+
|
|
+ /**
|
|
+ * @deprecated use {@link #translationKey()}
|
|
+ */
|
|
+ @NotNull
|
|
+ @Deprecated(forRemoval = true)
|
|
+ String getTranslationKey();
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
|
index 5744a9f432ec75f6b6b1991ff488dffb9591c934..0264c2f9a3977b6d47994b1e1b0240b312e5bf65 100644
|
|
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
|
|
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
|
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* The various type of enchantments that may be added to armour or weapons
|
|
*/
|
|
-public abstract class Enchantment implements Keyed {
|
|
+public abstract class Enchantment implements Keyed, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
|
|
/**
|
|
* Provides protection against environmental damage
|
|
*/
|
|
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
|
index 4d5f0837bd0e02a30c943d8969fb6b13452322e0..a39f9c078f42451bd122f3e3729d10ca299bee5f 100644
|
|
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
|
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
|
@@ -69,5 +69,10 @@ public class EnchantmentWrapper extends Enchantment {
|
|
public net.kyori.adventure.text.Component displayName(int level) {
|
|
return getEnchantment().displayName(level);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return getEnchantment().translationKey();
|
|
+ }
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java
|
|
index 2caa5f82e206b231fd9e9f5508c3713816e5a0e4..80897ed8641a2bdc4e3557e20f3a8ae4b8c5da69 100644
|
|
--- a/src/main/java/org/bukkit/entity/EntityType.java
|
|
+++ b/src/main/java/org/bukkit/entity/EntityType.java
|
|
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Contract;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
-public enum EntityType implements Keyed, Translatable {
|
|
+public enum EntityType implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - translatable
|
|
|
|
// These strings MUST match the strings in nms.EntityTypes and are case sensitive.
|
|
/**
|
|
@@ -430,7 +430,19 @@ public enum EntityType implements Keyed, Translatable {
|
|
|
|
@Override
|
|
@NotNull
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
public String getTranslationKey() {
|
|
return Bukkit.getUnsafe().getTranslationKey(this);
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ /**
|
|
+ * @throws IllegalArgumentException if the entity does not have a translation key (is probably a custom entity)
|
|
+ */
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys");
|
|
+ return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this);
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java
|
|
index c799ac46dbe257d470d3b236cf55b41240f5fda8..d61855b83da0776fe910dee8cde184c720571a71 100644
|
|
--- a/src/main/java/org/bukkit/entity/Villager.java
|
|
+++ b/src/main/java/org/bukkit/entity/Villager.java
|
|
@@ -160,7 +160,7 @@ public interface Villager extends AbstractVillager {
|
|
* Represents the various different Villager professions there may be.
|
|
* Villagers have different trading options depending on their profession,
|
|
*/
|
|
- public enum Profession implements Keyed {
|
|
+ public enum Profession implements Keyed, net.kyori.adventure.translation.Translatable { // Paper
|
|
NONE,
|
|
/**
|
|
* Armorer profession. Wears a black apron. Armorers primarily trade for
|
|
@@ -243,6 +243,13 @@ public interface Villager extends AbstractVillager {
|
|
public NamespacedKey getKey() {
|
|
return key;
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return "entity.minecraft.villager." + this.key.getKey();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
// Paper start - Add villager reputation API
|
|
diff --git a/src/main/java/org/bukkit/inventory/CreativeCategory.java b/src/main/java/org/bukkit/inventory/CreativeCategory.java
|
|
index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054dbe7603694 100644
|
|
--- a/src/main/java/org/bukkit/inventory/CreativeCategory.java
|
|
+++ b/src/main/java/org/bukkit/inventory/CreativeCategory.java
|
|
@@ -3,51 +3,64 @@ package org.bukkit.inventory;
|
|
/**
|
|
* Represents a category in the creative inventory.
|
|
*/
|
|
-public enum CreativeCategory {
|
|
+public enum CreativeCategory implements net.kyori.adventure.translation.Translatable { // Paper
|
|
|
|
/**
|
|
* An assortment of building blocks including dirt, bricks, planks, ores
|
|
* slabs, etc.
|
|
*/
|
|
- BUILDING_BLOCKS,
|
|
+ BUILDING_BLOCKS("buildingBlocks"), // Paper
|
|
/**
|
|
* Blocks and items typically used for decorative purposes including
|
|
* candles, saplings, flora, fauna, fences, walls, carpets, etc.
|
|
*/
|
|
- DECORATIONS,
|
|
+ DECORATIONS("decorations"), // Paper
|
|
/**
|
|
* Blocks used and associated with redstone contraptions including buttons,
|
|
* levers, pressure plates, redstone components, pistons, etc.
|
|
*/
|
|
- REDSTONE,
|
|
+ REDSTONE("redstone"), // Paper
|
|
/**
|
|
* Items pertaining to transportation including minecarts, rails, boats,
|
|
* elytra, etc.
|
|
*/
|
|
- TRANSPORTATION,
|
|
+ TRANSPORTATION("transportation"), // Paper
|
|
/**
|
|
* Miscellaneous items and blocks that do not fit into other categories
|
|
* including gems, dyes, spawn eggs, discs, banner patterns, etc.
|
|
*/
|
|
- MISC,
|
|
+ MISC("misc"), // Paper
|
|
/**
|
|
* Food items consumable by the player including meats, berries, edible
|
|
* drops from creatures, etc.
|
|
*/
|
|
- FOOD,
|
|
+ FOOD("food"), // Paper
|
|
/**
|
|
* Equipment items meant for general utility including pickaxes, axes, hoes,
|
|
* flint and steel, and useful enchantment books for said tools.
|
|
*/
|
|
- TOOLS,
|
|
+ TOOLS("tools"), // Paper
|
|
/**
|
|
* Equipment items meant for combat including armor, swords, bows, tipped
|
|
* arrows, and useful enchantment books for said equipment.
|
|
*/
|
|
- COMBAT,
|
|
+ COMBAT("combat"), // Paper
|
|
/**
|
|
* All items related to brewing and potions including all types of potions,
|
|
* their variants, and ingredients to brew them.
|
|
*/
|
|
- BREWING;
|
|
+ BREWING("brewing"); // Paper
|
|
+ // Paper start
|
|
+ private final String translationKey;
|
|
+
|
|
+ CreativeCategory(String translationKey) {
|
|
+ this.translationKey = "itemGroup." + translationKey;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public @org.jetbrains.annotations.NotNull String translationKey() {
|
|
+ return this.translationKey;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
index 7c280d7beeb42dca52e36e77bbd41742b2572710..03a15727c85a08c0c79965be249373a11f31ce6e 100644
|
|
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* use this class to encapsulate Materials for which {@link Material#isItem()}
|
|
* returns false.</b>
|
|
*/
|
|
-public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowItem> { // Paper
|
|
+public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowItem>, net.kyori.adventure.translation.Translatable { // Paper
|
|
private Material type = Material.AIR;
|
|
private int amount = 0;
|
|
private MaterialData data = null;
|
|
@@ -606,6 +606,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|
|
|
@Override
|
|
@NotNull
|
|
+ @Deprecated(forRemoval = true) // Paper
|
|
public String getTranslationKey() {
|
|
return Bukkit.getUnsafe().getTranslationKey(this);
|
|
}
|
|
@@ -865,5 +866,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|
ItemMeta itemMeta = getItemMeta();
|
|
return itemMeta != null && itemMeta.hasItemFlag(flag);
|
|
}
|
|
+
|
|
+ /**
|
|
+ * {@inheritDoc}
|
|
+ * <p>
|
|
+ * This is not the same as getting the translation key
|
|
+ * for the material of this itemstack.
|
|
+ */
|
|
+ @Override
|
|
+ public @NotNull String translationKey() {
|
|
+ return Bukkit.getUnsafe().getTranslationKey(this);
|
|
+ }
|
|
// Paper end
|
|
}
|