package Ġal 1 3 2 . al che mistry . items Ċ Ċ import Ġal 1 3 2 . al che mistry . Config Handler Ċ import Ġal 1 3 2 . al che mistry . capability . Capability Dr ug Info Ċ import Ġal 1 3 2 . al che mistry . che mistry . Che mical Compound Ċ import Ġal 1 3 2 . al che mistry . che mistry . Compound Registry Ċ import Ġal 1 3 2 . al che mistry . utils . extensions . to P otion Ċ import Ġal 1 3 2 . alib . utils . extensions . translate Ċ import Ġnet . minecraft . client . renderer . block . model . Model Resource Location Ċ import Ġnet . minecraft . client . util . I Tooltip Flag Ċ import Ġnet . minecraft . cre ativ et ab . Creative Tabs Ċ import Ġnet . minecraft . entity . Entity Living Base Ċ import Ġnet . minecraft . entity . player . Entity Player Ċ import Ġnet . minecraft . item . Enum Action Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . p otion . P otion Ċ import Ġnet . minecraft . p otion . P otion Effect Ċ import Ġnet . minecraft . util .* Ċ import Ġnet . minecraft . world . World Ċ import Ġnet . minecraftforge . client . model . Model Loader Ċ import Ġnet . minecraftforge . fml . rel a unch er . Side Ċ import Ġnet . minecraftforge . fml . rel a unch er . Side Only Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġal 1 3 2 Ġon Ġ 1 / 1 6 / 2 0 1 7 . Ċ Ġ*/ Ċ class ĠItem Compound ( name : ĠString ) Ġ: ĠItem Meta Base ( name ) Ġ{ ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Item Use Finish ( stack : ĠItemStack , Ġworld In : ĠWorld , Ġentity : ĠEntity Living Base ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( entity Ġis ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmolecule Ġ= Ġd ank M olec ules . first OrNull Ġ{ Ġit . meta Ġ== Ġstack . metadata Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmolecule ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . activate For Player ( entity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstack . shrink ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġstack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetMax Item Use Duration ( stack : ĠItemStack ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( meta Has D ank M olecule ( stack . metadata )) Ġ 3 6 ĊĠĠĠĠĠĠĠ Ġelse Ġsuper . getMax Item Use Duration ( stack ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Use Action ( stack : ĠItemStack ): ĠEnum Action Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( meta Has D ank M olecule ( stack . metadata )) ĠEnum Action . DR INK ĊĠĠĠĠĠĠĠ Ġelse Ġsuper . getItem Use Action ( stack ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Right Click ( world In : ĠWorld , Ġplayer In : ĠEntity Player , Ġhand In : ĠEnum Hand ): ĠActionResult < ItemStack > Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer In . active Hand Ġ= Ġhand In ĊĠĠĠĠĠĠĠ Ġval Ġstack Ġ= Ġplayer In . get Hel d Item ( hand In ) ĊĠĠĠĠĠĠĠ Ġif Ġ( meta Has D ank M olecule ( stack . metadata )) Ġreturn ĠActionResult ( Enum ActionResult . SUCCESS , Ġplayer In . get Hel d Item ( hand In )) ĊĠĠĠĠĠĠĠ Ġelse Ġreturn ĠActionResult ( Enum ActionResult . PASS , Ġstack ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Side Only ( Side . CLIENT ) ĊĠĠĠ Ġoverride Ġfun Ġregister Model () Ġ{ ĊĠĠĠĠĠĠĠ ĠCompound Registry . keys (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModel Loader . set Custom Model Resource Location ( this , Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠModel Resource Location ( registry Name . toString (), Ġ" inventory ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Side Only ( Side . CLIENT ) ĊĠĠĠ Ġoverride Ġfun Ġadd Information ( stack : ĠItemStack , Ġplayer In : ĠWorld ?, Ġtooltip : ĠList < String >, Ġadvanced : ĠI Tooltip Flag ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcompound : ĠChe mical Compound ? Ġ= ĠCompound Registry [ stack . item Damage ] ĊĠĠĠĠĠĠĠ Ġcompound ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( tooltip Ġas ĠMutable List ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( compound . to Abbre vi ated String ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( meta Has D ank M olecule ( compound . meta )) Ġadd (" generic _ p otion _ compound . tooltip ". translate ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Side Only ( Side . CLIENT ) ĊĠĠĠ Ġoverride Ġfun Ġget Sub Items ( tab : ĠCreative Tabs , Ġstacks : ĠNon Null List < ItemStack >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! isIn Creative Tab ( tab )) Ġreturn ; ĊĠĠĠĠĠĠĠ ĠCompound Registry . keys (). forEach Ġ{ Ġstacks . add ( ItemStack ( this , Ġ 1 , Ġit )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ItemStack DisplayName ( stack : ĠItemStack ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcompound Ġ= ĠCompound Registry [ stack . metadata ] ĊĠĠĠĠĠĠĠ Ġif Ġ( stack . item Ġ== ĠMod Items . compound s Ġ&& Ġcompound Ġ!= Ġnull Ġ&& Ġ!( compound . is Internal Compound )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompound Name Ġ= ĠCompound Registry [ stack . metadata ]?. name Ġ?: Ġ"< Error >" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcompound Name . split ("_ "). join ToString ( separator Ġ= Ġ" Ġ") Ġ{ Ġit . first (). toUpperCase () Ġ+ Ġit . drop ( 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġreturn Ġsuper . getItem Stack DisplayName ( stack ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Translation Key ( stack : ĠItemStack ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġstack !!. item Damage ĊĠĠĠĠĠĠĠ Ġif Ġ(! Compound Registry . keys (). contains ( i )) Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( Config Handler . family Friendly Mode !! Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( i Ġ== ĠCompound Registry [" co ca ine "] !!. meta ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġi Ġ== ĠCompound Registry [" psi loc y bin "] !!. meta ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġi Ġ== ĠCompound Registry [" me scal ine "] !!. meta )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . get Translation Key () Ġ+ Ġ"_" Ġ+ ĠCompound Registry [ i ] !!. name Ġ+ Ġ"_ family " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . get Translation Key () Ġ+ Ġ"_" Ġ+ ĠCompound Registry [ i ] !!. name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd ank M olec ules Ġ= ĠArrayList < D ank M olecule >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" pot ass ium _ cyan ide "] !!. meta , Ġ 5 0 0 , Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" with er ". to P otion (), Ġ" po ison ". to P otion (), Ġ" n ause a ". to P otion (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" slow ness ". to P otion (), Ġ" hun ger ". to P otion ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . food Stats . set Food Sat uration Level ( 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . food Stats . food Level Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . attack Entity From ( Damage Source . STAR VE , Ġ 1 2 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" psi loc y bin "] !!. meta , Ġ 6 0 0 , Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" night _ vision ". to P otion (), Ġ" glow ing ". to P otion (), Ġ" slow ness ". to P otion ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe : ĠEntity Player Ġ-> Ġe . get Capability ( Capability Dr ug Info . DR UG _ INFO , Ġnull )?. psi loc y bin Ticks Ġ= Ġ 1 1 0 0 Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" pen ic ill in "] !!. meta , Ġ 0 , Ġ 0 , ĠlistOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe Ġ-> Ġe . clear Active Pot ions (); Ġe . he al ( 2 . 0 f ) Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" ep ine ph r ine "] !!. meta , Ġ 4 0 0 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" night _ vision ". to P otion (), Ġ" speed ". to P otion (), Ġ" h aste ". to P otion ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" co ca ine "] !!. meta , Ġ 4 0 0 , Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" night _ vision ". to P otion (), Ġ" speed ". to P otion (), Ġ" h aste ". to P otion (), Ġ" jump _ boost ". to P otion ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" ac ety ls alic y lic _ ac id "] !!. meta , Ġ 0 , Ġ 0 , ĠlistOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe Ġ-> Ġe . he al ( 5 . 0 f ) Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( D ank M olecule ( Compound Registry [" caffe ine "] !!. meta , Ġ 4 0 0 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" night _ vision ". to P otion (), Ġ" speed ". to P otion (), Ġ" h aste ". to P otion ()))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġmeta Has D ank M olecule ( meta : ĠInt ) Ġ= Ġd ank M olec ules . any Ġ{ Ġit . meta Ġ== Ġmeta Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget D ank M olecule For Meta ( meta : ĠInt ): ĠD ank M olecule ? Ġ= Ġd ank M olec ules . first OrNull Ġ{ Ġit . meta Ġ== Ġmeta Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ data Ġclass ĠD ank M olecule ( val Ġmeta : ĠInt , Ġval Ġduration : ĠInt , Ġval Ġamp l ifier : ĠInt , Ġval Ġp otion Effects : ĠList < P otion >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentity Effects : Ġ( Entity Player ) Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĊĠĠĠ Ġfun Ġactivate For Player ( player : ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( effect Ġin Ġthis . p otion Effects ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( effect , Ġduration , Ġamp l ifier )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġentity Effects . invoke ( player ) ĊĠĠĠ Ġ} Ċ } ĊĊĊ