Puisque ce n'est pas forcement évident à faire je te donne le code complet :
function AddStoredEnchants(item: item, enchantments: enchantment types, force: boolean) :: item:
set {_meta} to {_item}.getItemMeta()
loop {_enchantments::*}:
set {_ench} to loop-value
set {_type} to {_ench}.getType()
set {_level} to {_ench}.getLevel()
{_meta}.addStoredEnchant({_type}, {_level} and {_force})
{_item}.setItemMeta({_meta})
return {_item}
function GetStoredEnchants(item: item) :: enchantment types:
set {_meta} to {_item}.getItemMeta()
set {_ench} to {_meta}.getStoredEnchants()
set {_keys::*} to ...{_ench}.keySet()
set {_values::*} to ...{_ench}.values()
loop {_keys::*}:
set {_enchantmentType} to "%loop-value% %{_values::%loop-index%}%" parsed as enchantment type
add {_enchantmentType} to {_return::*}
return {_return::*}
function RemoveStoredEnchants(item: item, enchantments: enchantments) :: item:
set {_meta} to {_item}.getItemMeta()
loop {_enchantments::*}:
set {_enchantment} to loop-value
{_meta}.removeStoredEnchant({_enchantment})
{_item}.setItemMeta({_meta})
return {_item}
sachant que pour le Add et Remove tu as une particularité,
set tool of player to RemoveStoredEnchants(tool of player, protection)
=
RemoveStoredEnchants(tool of player, protection)
En gros si l'item existe dans le monde (dans un inventaire ou tombé au sol), tu n'a pas besoin de la première façon de l'écrire, CEPENDANT si l'item n'existe pas, donc si il s'agit d'une variable tu dois forcement utiliser la première façon !