package Ġnet . h iny ari . plugin . storage box . util Ċ Ċ import Ġnet . h iny ari . plugin . storage box . extensions .* Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġorg . bukkit . scheduler . Bu kkit Runnable Ċ import Ġjava . util .* Ċ Ċ class ĠSB Util Ġ{ ĊĠĠĠĠĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġæ Ħ ī å¿« ãģª å®ļ æķ° ãģŁ ãģ¡ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġerror Prefix Ġ= Ġ" Â§ c Â§ l [ ĠStorage Box Ġ] Â§ r Ġ" ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġprefix Ġ= Ġ" Â§ a Â§ l [ ĠStorage Box Ġ] Â§ r Ġ" ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġno Permission Ġ= Ġ" æ¨ © éĻĲ ãģĮãģĤ ãĤĬ ãģ¾ãģĽãĤĵ ãĢĤ " ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠStorage Box ãģ« åħ¥ ãģ£ ãģ¦ãģĦãĤĭ ãĤ¢ ãĤ¤ ãĥĨ ãĥł ãģ® åĢĭ æķ° ãĤĴ ãĥª ãĤ¿ ãĥ¼ãĥ³ ãģĹãģ¾ãģĻ ãĢĤ ĊĠĠĠĠĠĠĠĠ Ġ* ĠĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġamount Ġof Ġstorage box ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Amount Of Storage Box ( item Stack : ĠItemStack ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Stack . isNot Storage Box ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem Stack . item Meta . lo re [ 2 ]. toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġfun Ġstack To Storage Box ( player : ĠPlayer , Ġstorage box : ĠItemStack ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( storage box . isNot Storage Box ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" failed Ġin Ġstack To Storage Box Ġbecause Ġgiven Ġitem Ġis Ġnot Ġstorage box ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhas Stack able Item Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin Ġplayer . inventory . contents ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull Ġ|| Ġitem . type Ġ== ĠMaterial . AIR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åĲĮ ãģĺ Material ãģ® ãĤ¢ ãĤ¤ ãĥĨ ãĥł ãģĮ è¦ĭ ãģ¤ ãģĭ ãģ£ãģŁ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . type Ġ== Ġstorage box . type Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . data . data Ġ== Ġstorage box . data . data Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . dur ability Ġ== Ġstorage box . dur ability Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . ench ant ments Ġ== Ġstorage box . ench ant ments ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĿãģ® ãĤ¢ ãĤ¤ ãĥĨ ãĥł ãģĮ ãĤ¹ãĥĪ ãĥ¬ ãĥ¼ãĤ¸ ãĥľ ãĥĥãĤ¯ãĤ¹ ãģł ãģ£ãģŁ ãĤī ãģ¨ ãĤĬ ãģĤ ãģĪ ãģļ ä¿ĿçķĻ ï¼Ł ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . is Storage Box ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Stack able Item Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠBu kkit Runnable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Main Hand Ġ= Ġstorage box Ġ== Ġplayer . item In Main Hand ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġãĥ¡ ãĤ¤ãĥ³ ãĥı ãĥ³ãĥī ãģ« æīĢ æĮģ ãģĹãģ¦ãģĦãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Main Hand Ġ-> Ġplayer . item In Main Hand . to Storage Box ( get Amount Of Storage Box ( storage box ) Ġ+ Ġitem . amount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . item In Off Hand Ġ== Ġstorage box Ġ-> Ġplayer . item In Off Hand . to Storage Box ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Amount Of Storage Box ( storage box ) Ġ+ Ġitem . amount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠãĤ¢ ãĤ¤ ãĥĨ ãĥł ãĤĴ æ¶Ī ãģĻ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. run Task Later ( Bu kkit . get PluginManager (). get Plugin (" Storage Box "), Ġ 1 L ) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġhas Stack able Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ