mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-16 06:30:46 +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)
|
@Deprecated(since = "1.18.1", forRemoval = true)
|
||||||
String getI18NDisplayName(@Nullable ItemStack item);
|
String getI18NDisplayName(@Nullable ItemStack item);
|
||||||
// Paper end - add getI18NDisplayName
|
// 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);
|
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.
|
* Gets the Display name as seen in the Client.
|
||||||
* Currently the server only supports the English language. To override this,
|
* Currently the server only supports the English language. To override this,
|
||||||
|
|
Loading…
Reference in a new issue