package Ġme . ste ven . ind rev . items . upgrade Ċ Ċ import Ġme . ste ven . ind rev . block entities . cr after s . Upgrade Provider Ċ import Ġnet . minecraft . inventory . Inventory Ċ Ċ enum Ġclass ĠUpgrade ( val Ġapply : Ġ( Double , ĠInt ) Ġ-> ĠDouble ) Ġ{ ĊĠĠĠ ĠSPE ED ({ Ġbase , Ġcount Ġ-> Ġbase Ġ+ Ġ 1 . 2 Ġ* Ġcount Ġ}), ĊĠĠĠ ĠEN ER GY ({ Ġbase , Ġcount Ġ-> Ġbase Ġ- Ġ 0 . 1 Ġ* Ġcount Ġ}), ĊĠĠĠ ĠBUFFER ({ Ġbase , Ġcount Ġ-> Ġbase Ġ+ Ġcount Ġ* Ġ 2 0 0 0 0 Ġ}); ĊĊĠĠĠ Ġfun Ġapply ( provider : ĠUpgrade Provider , Ġinventory : ĠInventory ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġprovider . get Upgrade Slots ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinv Stack Ġ= Ġinventory . get Stack ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġinv Stack . item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠIR Upgrade Item Ġ&& Ġitem . upgrade Ġ== Ġthis ) Ġcount ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġapply ( provider . getBase Value ( this ), Ġcount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠALL Ġ= ĠarrayOf ( SPEED , ĠEN ER GY , ĠBUFFER ) ĊĠĠĠ Ġ} Ċ }