mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
ensureServerConversions API
This will take a Bukkit ItemStack and run it through any conversions a server process would perform on it, to ensure it meets latest minecraft expectations.
This commit is contained in:
parent
221abecc78
commit
8df1d2656c
2 changed files with 28 additions and 1 deletions
|
@ -236,4 +236,18 @@ public interface ItemFactory {
|
|||
@Deprecated(since = "1.18.1", forRemoval = true)
|
||||
String getI18NDisplayName(@Nullable ItemStack item);
|
||||
// Paper end - add getI18NDisplayName
|
||||
|
||||
// Paper start - ensure server conversions API
|
||||
/**
|
||||
* Minecraft's updates are converting simple item stacks into more complex NBT oriented Item Stacks.
|
||||
*
|
||||
* Use this method to ensure any desired data conversions are processed.
|
||||
* The input itemstack will not be the same as the returned itemstack.
|
||||
*
|
||||
* @param item The item to process conversions on
|
||||
* @return A potentially Data-Converted-ItemStack
|
||||
*/
|
||||
@NotNull
|
||||
ItemStack ensureServerConversions(@NotNull ItemStack item);
|
||||
// Paper end - ensure server conversions API
|
||||
}
|
||||
|
|
|
@ -566,7 +566,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return result.ensureServerConversions(); // Paper
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -643,6 +643,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|||
return Bukkit.getServer().getItemFactory().displayName(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Minecraft updates are converting simple item stacks into more complex NBT oriented Item Stacks.
|
||||
*
|
||||
* Use this method to ensure any desired data conversions are processed.
|
||||
* The input itemstack will not be the same as the returned itemstack.
|
||||
*
|
||||
* @return A potentially Data Converted ItemStack
|
||||
*/
|
||||
@NotNull
|
||||
public ItemStack ensureServerConversions() {
|
||||
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the Display name as seen in the Client.
|
||||
* Currently the server only supports the English language. To override this,
|
||||
|
|
Loading…
Reference in a new issue