@ file : Is olated Ċ Ċ package Ġtab ool ib . platform . util Ċ Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . inventory . Inventory Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġtab ool ib . common . Is olated Ċ Ċ /** Ċ Ġ* Ġæ£Ģ æŁ¥ çİ© å®¶ èĥĮ åĮħ ä¸ŃçļĦ çī¹å®ļ çī© åĵģ æĺ¯åĲ¦ è¾¾ åĪ° çī¹å®ļ æķ°éĩı Ċ Ġ* Ċ Ġ* Ġ@ param Ġitem ĠĠ Ġ çī© åĵģ Ċ Ġ* Ġ@ param Ġamount Ġæ£Ģ æŁ¥ æķ°éĩı Ċ Ġ* Ġ@ param Ġremove Ġæĺ¯åĲ¦ ç§»éĻ¤ Ċ Ġ* Ġ@ return Ġboolean Ċ Ġ*/ Ċ fun ĠPlayer . check Item ( item : ĠItemStack , Ġamount : ĠInt Ġ= Ġ 1 , Ġremove : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġinventory . check Item ( item , Ġamount , Ġremove ) Ċ } Ċ Ċ /** Ċ Ġ* Ġæ£Ģ æŁ¥ èĥĮ åĮħ ä¸ŃçļĦ çī¹å®ļ çī© åĵģ æĺ¯åĲ¦ è¾¾ åĪ° çī¹å®ļ æķ°éĩı Ċ Ġ* Ċ Ġ* Ġ@ param Ġitem ĠĠĠĠĠ Ġ çī© åĵģ Ċ Ġ* Ġ@ param Ġamount ĠĠĠ Ġæ£Ģ æŁ¥ æķ°éĩı Ċ Ġ* Ġ@ param Ġremove ĠĠĠ Ġæĺ¯åĲ¦ ç§»éĻ¤ Ċ Ġ* Ġ@ return Ġboolean Ċ Ġ*/ Ċ fun ĠInventory . check Item ( item : ĠItemStack , Ġamount : ĠInt Ġ= Ġ 1 , Ġremove : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġhas Item ( amount ) Ġ{ Ġit . is Similar ( item ) Ġ} Ġ&& Ġ(! remove Ġ|| Ġtake Item ( amount ) Ġ{ Ġit . is Similar ( item ) Ġ}) Ċ } Ċ Ċ /** Ċ Ġ* Ġæ£Ģ æŁ¥ èĥĮ åĮħ ä¸Ń ç¬¦åĲĪ çī¹å®ļ è§ĦåĪĻ çļĦ çī© åĵģ æĺ¯åĲ¦ è¾¾ åĪ° çī¹å®ļ è¯¥ æķ°éĩı Ċ Ġ* Ċ Ġ* Ġ@ param Ġmatcher ĠĠ Ġ è§ĦåĪĻ Ċ Ġ* Ġ@ param Ġamount ĠĠĠ Ġ æķ°éĩı Ċ Ġ* Ġ@ return Ġboolean Ċ Ġ*/ Ċ fun ĠInventory . has Item ( amount : ĠInt Ġ= Ġ 1 , Ġmatcher : Ġ( item Stack : ĠItemStack ) Ġ-> ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġvar Ġcheck Amount Ġ= Ġamount ĊĠĠĠ Ġcontents . forEach Ġ{ Ġitem Stack Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( item Stack . isNot Air () Ġ&& Ġmatcher ( item Stack )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Amount Ġ-= Ġitem Stack . amount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Amount Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ } Ċ Ċ /** Ċ Ġ* Ġ ç§»éĻ¤ èĥĮ åĮħ ä¸Ń çī¹å®ļ æķ°éĩı çļĦ ç¬¦åĲĪ çī¹å®ļ è§ĦåĪĻ çļĦ çī© åĵģ Ċ Ġ* Ċ Ġ* Ġ@ param Ġmatcher ĠĠ Ġ è§ĦåĪĻ Ċ Ġ* Ġ@ param Ġamount ĠĠĠ Ġ å®ŀä¾ĭ Ċ Ġ* Ġ@ return Ġboolean Ċ Ġ*/ Ċ fun ĠInventory . take Item ( amount : ĠInt Ġ= Ġ 1 , Ġmatcher : Ġ( item Stack : ĠItemStack ) Ġ-> ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġvar Ġtake Amount Ġ= Ġamount ĊĠĠĠ Ġcontents . forEach Indexed Ġ{ Ġindex , Ġitem Stack Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( item Stack . isNot Air () Ġ&& Ġmatcher ( item Stack )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake Amount Ġ-= Ġitem Stack . amount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( take Amount Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack . amount Ġ= Ġitem Stack . amount Ġ- Ġ( take Amount Ġ+ Ġitem Stack . amount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( index , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( take Amount Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ } Ċ