package Ġcn . ber ber man . em eral d . dsl . item . modifier Ċ Ċ import Ġcn . ber ber man . em eral d . nms . wrapper . nbt . N ms NBT Tag Compound Ċ import Ġcn . ber ber man . em eral d . reflection . Reflection Classes Ċ import Ġcn . ber ber man . em eral d . util . N ms Util Ċ import Ġorg . bukkit . inventory . ItemStack Ċ Ċ class ĠNB TR aw Modifier ( item Stack : ĠItemStack ) Ġ: ĠN BT Modifier ( item Stack ) Ġ{ ĊĊ ĉ // dsl Ġstart Ċ ĉ fun Ġadd Raw Tag ( name : ĠString , Ġblock : ĠN ms NBT Tag Compound . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ tag . set ( name , ĠN ms NBT Tag Compound (). apply ( block ). handle ) Ċ ĉ } ĊĊ ĉ fun Ġget Raw Tag OrNull ( name : ĠString ): ĠN ms NBT Tag Compound ? Ġ{ Ċĉ ĉ val Ġinstance Ġ= Ġtag . get ( name ) Ġ?: Ġreturn Ġnull Ċĉ ĉ if Ġ(! Reflection Classes . N ms . NBT Tag Compound (). is Instance ( instance )) Ġreturn Ġnull Ċĉ ĉ return ĠN ms NBT Tag Compound ( instance ) Ċ ĉ } ĊĊ ĉ fun Ġremove Raw Tag ( name : ĠString ) Ġ= Ġtag . remove ( name ) Ċ ĉ // dsl Ġend ĊĊ ĉ override Ġfun Ġget Result (): ĠItemStack Ġ= ĠN ms Util . as Bu kkit Copy ( nms ) Ċ }