package Ġme . d dev il . mine me . craft . ui . composition Ċ Ċ import Ġme . d dev il . mine me . api . Mine Me Constants Ċ import Ġme . d dev il . mine me . api . composition . Mine Composition Ċ import Ġme . d dev il . mine me . api . composition . Mine Material Ċ import Ġme . d dev il . mine me . craft . Mine Me Ċ import Ġme . d dev il . mine me . craft . api . util . to Mine Material Ċ import Ġme . d dev il . mine me . craft . ui . UI Resources Ċ import Ġme . d dev il . shiro i . craft . message . Message Manager Ċ import Ġme . d dev il . shiro i . craft . util . Sh iro i Item Builder Ċ import Ġme . d dev il . shiro i . craft . util . to Bu kkit Ċ import Ġme . d dev il . shiro i . ui . api . U IP osition Ċ import Ġme . d dev il . shiro i . ui . api . component . container . Menu Size Ċ import Ġme . d dev il . shiro i . ui . api . component . holder . Holder ClickListener Ċ import Ġme . d dev il . shiro i . ui . api . component . misc . Clickable Item Slot Component Ċ import Ġme . d dev il . shiro i . ui . api . component . scroll able . Under Panel Scroll able Ċ import Ġme . d dev il . shiro i . ui . api . event . UIC lick Event Ċ import Ġme . d dev il . shiro i . ui . api . misc . Action Ċ import Ġme . d dev il . shiro i . ui . api . updater . Item Updater Ċ import Ġme . d dev il . shiro i . ui . shiro i . Sh iro i Menu Ċ import Ġme . d dev il . shiro i . ui . shiro i . Sh iro i Scroller Updater Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . inventory . ItemStack Ċ Ċ class ĠComp osition Menu ( plugin : ĠM ine Me , Ġval Ġcomposition : ĠM ine Composition ) Ġ: ĠSh iro i Menu < Mine Me >( plugin , ĊĠĠĠĠĠĠĠ Ġ"$ 1 ${ composition . alias }", ĊĠĠĠĠĠĠĠ ĠMenu Size . SIX _ ROWS , ĊĠĠĠĠĠĠĠ ĠUI Resources . PRIMARY _ BACKGROUND ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmenu Cache Ġ= ĠHashMap < Mine Material , ĠMaterial Editor Menu >() ĊĠĠĠ Ġprivate Ġvar Ġmaterial Display s Ġ= ĠUnder Panel Scroll able ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM ine Material Display :: class . java , Ġthis , Ġ 9 , Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSh iro i Scroller Updater ( Material . EM ER AL D , Ġplugin ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUI Resources . SECOND ARY _ BACKGROUND , ĠUI Resources . PRIMARY _ BACKGROUND ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġmaterial Display s . addListener ( object Ġ: ĠH older ClickListener < Mine Material Display > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( drawable : ĠM ine Material Display ?, Ġevent : ĠU IC lick Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġevent . player . item On Cursor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposition . add ( item . to Mine Material ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġplace ( material Display s , Ġ 0 , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġmaterial Display s . clear () ĊĠĠĠĠĠĠĠ Ġfor Ġ( material Ġin Ġcomposition . composition Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Ġ= ĠM ine Material Display ( composition , Ġmaterial , Ġplugin . message Manager , Ġobject Ġ: ĠAction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( p 1 : ĠU IC lick Event , Ġp 2 : ĠU IP osition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Menu ( material )?. open ( p 1 . player ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaterial Display s . add ( display ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Menu ( material : ĠM ine Material ): ĠMaterial Editor Menu ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( material Ġ! in Ġcomposition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmenu Ġ= Ġmenu Cache . remove ( material ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( menu Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . unregister Listener ( menu ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmenu Cache . get Or Put ( material ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmenu Ġ= ĠMaterial Editor Menu ( plugin , Ġthis , Ġmaterial ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmenu . register () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmenu ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠM ine Material Display ( ĊĠĠĠĠĠĠĠ Ġval Ġcomposition : ĠM ine Composition , ĊĠĠĠĠĠĠĠ Ġval Ġmaterial : ĠM ine Material , ĊĠĠĠĠĠĠĠ Ġval Ġmessage Manager : ĠMessage Manager , ĊĠĠĠĠĠĠĠ Ġaction : ĠAction Ċ ) Ġ: ĠClick able Item Slot Component ( ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠItem Updater Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate ( old Item : ĠItemStack ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSh iro i Item Builder ( message Manager , Ġmaterial . to Bu kkit ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName ( material . to Color ized String ( Mine Me Constants . DECIMAL _ FORMAT )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġmaterial . to Bu kkit (), Ġaction , Ġnull ) Ċ