From c5172a72755d5e5d82b47c604ba3c534af26aa0c Mon Sep 17 00:00:00 2001 From: themode Date: Tue, 18 Aug 2020 02:16:30 +0200 Subject: [PATCH] WIP ItemStack#getCustomDisplay --- .../server/collision/CollisionUtils.java | 2 +- .../net/minestom/server/item/ItemDisplay.java | 32 +++++++++++++++++++ .../net/minestom/server/item/ItemStack.java | 14 ++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/minestom/server/item/ItemDisplay.java diff --git a/src/main/java/net/minestom/server/collision/CollisionUtils.java b/src/main/java/net/minestom/server/collision/CollisionUtils.java index e5253566b..61d8408bc 100644 --- a/src/main/java/net/minestom/server/collision/CollisionUtils.java +++ b/src/main/java/net/minestom/server/collision/CollisionUtils.java @@ -111,7 +111,7 @@ public class CollisionUtils { // find the corner which moved the least float smallestDisplacement = Float.POSITIVE_INFINITY; for (int i = 0; i < corners.length; i++) { - float displacement = (float) corners[i].distance(cornersCopy[i]); + final float displacement = (float) corners[i].distance(cornersCopy[i]); if (displacement < smallestDisplacement) { smallestDisplacement = displacement; } diff --git a/src/main/java/net/minestom/server/item/ItemDisplay.java b/src/main/java/net/minestom/server/item/ItemDisplay.java new file mode 100644 index 000000000..5022c3364 --- /dev/null +++ b/src/main/java/net/minestom/server/item/ItemDisplay.java @@ -0,0 +1,32 @@ +package net.minestom.server.item; + +import net.minestom.server.chat.ColoredText; + +public class ItemDisplay { + + private ColoredText displayName; + private ColoredText[] lore; + + public ItemDisplay(ColoredText displayName, ColoredText[] lore) { + this.displayName = displayName; + this.lore = lore; + } + + /** + * Get the item display name + * + * @return the item display name + */ + public ColoredText getDisplayName() { + return displayName; + } + + /** + * Get the item lore + * + * @return the item lore + */ + public ColoredText[] getLore() { + return lore; + } +} diff --git a/src/main/java/net/minestom/server/item/ItemStack.java b/src/main/java/net/minestom/server/item/ItemStack.java index e48b82235..b1fa6a702 100644 --- a/src/main/java/net/minestom/server/item/ItemStack.java +++ b/src/main/java/net/minestom/server/item/ItemStack.java @@ -618,6 +618,20 @@ public class ItemStack implements DataContainer { return compound; } + /** + * WARNING: not implemented yet + *

+ * This is be called each time an item is serialized to be send to a player, + * can be used to customize the display of the item based on player data + * + * @param player the player + * @return the custom {@link ItemDisplay} for {@code player}, + * null to use the normal item display name & lore + */ + public ItemDisplay getCustomDisplay(Player player) { + throw new UnsupportedOperationException("Not implemented yet"); + } + // Callback events /**