package Ġcom . github . w 0 8 1 9 . event Ċ Ċ import Ġcom . github . w 0 8 1 9 . game . resource . U HC ResourceManager Ċ import Ġcom . github . w 0 8 1 9 . game . u hc . recipes .* Ċ import Ġcom . github . w 0 8 1 9 . game . util . Extra Ult im ates Ċ import Ġcom . github . w 0 8 1 9 . game . util . Recipe Book Ċ import Ġcom . github . w 0 8 1 9 . game . util . Util Ċ import Ġcom . github . w 0 8 1 9 . plugin . U HC Plugin Ċ import Ġcom . github . w 0 8 1 9 . plugin . U HC Plugin . Companion . game Ċ import Ġcom . github . w 0 8 1 9 . p otion . No He aling Ċ import Ġcom . github . w 0 8 1 9 . p otion . Prevent Damage Ċ import Ġio . github . mon un . inv fx . Inv FX . frame Ċ import Ġio . github . mon un . inv fx . open Frame Ċ import Ġio . github . mon un . tap . fake . invisible Ċ import Ġnet . ky ori . ad venture . text . Component . text Ċ import Ġnet . ky ori . ad venture . text . format . TextColor Ċ import Ġorg . bukkit . Location Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . Name spaced Key Ċ import Ġorg . bukkit . attribute . Attribute Ċ import Ġorg . bukkit . block . Chest Ċ import Ġorg . bukkit . block . data . type . T NT Ċ import Ġorg . bukkit . ench ant ments . Enchant ment Ċ import Ġorg . bukkit . entity .* Ċ import Ġorg . bukkit . event . Event Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . Listener Ċ import Ġorg . bukkit . event . block . Action Ċ import Ġorg . bukkit . event . block . Block Break Event Ċ import Ġorg . bukkit . event . block . Block Place Event Ċ import Ġorg . bukkit . event . ench ant ment . Enchant Item Event Ċ import Ġorg . bukkit . event . entity .* Ċ import Ġorg . bukkit . event . inventory .* Ċ import Ġorg . bukkit . event . player . Player Interact Event Ċ import Ġorg . bukkit . event . player . Player Item Consume Event Ċ import Ġorg . bukkit . inventory . An vil Inventory Ċ import Ġorg . bukkit . inventory . Craft ing Inventory Ċ import Ġorg . bukkit . inventory . Inventory Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġorg . bukkit . inventory . meta . P otion Meta Ċ import Ġorg . bukkit . persistence . Persistent DataType Ċ import Ġorg . bukkit . p otion . P otion Bre wer Ċ import Ġorg . bukkit . p otion . P otion Effect Ċ import Ġorg . bukkit . p otion . P otion Effect Type Ċ Ċ class ĠItem Event Ġ: ĠListener Ġ{ ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Craft ( event : ĠCraft Item Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer : ĠPlayer Ġ= Ġevent . who Clicked Ġas ĠPlayer ĊĠĠĠĠĠĠĠ Ġwhen Ġ( event . recipe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` F ate 's Call ` Ġ-> Ġitem List ( player ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF en rir Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . location . world . spawn ( player . location , ĠW olf :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= Ġplayer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhealth Ġ= Ġ 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd P otion Effect ( P otion Effect ( P otion Effect Type . SPEED , 1 0 0 0 0 0 0 0 0 0 , 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd P otion Effect ( P otion Effect ( P otion Effect Type . DA MAGE _ RE SIST ANCE , 1 0 0 0 0 0 0 0 0 0 , 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd P otion Effect ( P otion Effect ( P otion Effect Type . INCRE ASE _ DA MAGE , 1 0 0 0 0 0 0 0 0 0 , 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ice Of God Ġ-> Ġevent . inventory . result Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠU HC Plugin . recipe List (). filter Is Instance < Extra Ult im ates >(). random (). result ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Place ( e : ĠBlock Place Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= Ġe . block ĊĠĠĠĠĠĠĠ Ġif Ġ( block . type Ġ== ĠFor ge . Forge . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġblock . location ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . world . spawn Entity ( location , ĠEntityType . ARM OR _ STAND ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( this Ġas ? ĠArm or Stand )?. persistent Data Container ?. set ( Forge . key , ĠPersistent DataType . INTEGER , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Break ( e : ĠBlock Break Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= Ġe . block ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġe . block . x ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġe . block . y ĊĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġe . block . z ĊĠĠĠĠĠĠĠ Ġif Ġ( e . player . inventory . item In Main Hand Ġ== ĠL umber jack A xe . result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . is Drop Items Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock . location . block . type Ġ= Ġblock . type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtree Logs Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . O AK _ LOG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . AC AC IA _ LOG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . B IR CH _ LOG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . DARK _ O AK _ LOG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . J UN GLE _ LOG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial . SP RU CE _ LOG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( block . type Ġin Ġtree Logs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġground Y Ġ= Ġ( y .. - y ). find Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock . world , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġz . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). block . type Ġ! in Ġtree Logs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġground X Ġ= Ġ( x .. - x ). find Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock . world , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġground Y . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġz . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). block . type Ġ! in Ġtree Logs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġground Z Ġ= Ġ( z .. - z ). find Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock . world , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġground X . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġground Y . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). block . type Ġ! in Ġtree Logs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x 1 Ġin Ġ( ground X .. - ground X )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( z 1 Ġin Ġ( ground Z .. - ground Z )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y 1 Ġin Ġ( ground Y .. - ground Y )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation ( block . world , Ġx 1 . toDouble (), Ġz 1 . toDouble (), Ġy 1 . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( location . block . type Ġin Ġtree Logs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . block . break N atur ally () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Interact ( event : ĠPlayer Interact Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġevent . player ĊĠĠĠĠĠĠĠ Ġval Ġloc Ġ= Ġplayer . location ĊĠĠĠĠĠĠĠ Ġval Ġworld Ġ= Ġplayer . location . world ĊĠĠĠĠĠĠĠ Ġval Ġentities : ĠArrayList < Entity > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld . get Near by Entities ( player . location , Ġ 1 0 0 0 0 . 0 , Ġ 1 0 0 0 0 . 0 , Ġ 1 0 0 0 0 . 0 ) Ġas ĠArrayList < Entity > ĊĠĠĠĠĠĠĠ Ġvar Ġlowest Distance So Far Ġ= ĠDouble . MAX _ VALUE ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġevent . item Ġ?: ĠItemStack ( Material . AIR ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( event . action Ġ== ĠAction . RIGHT _ CLICK _ AIR Ġ|| Ġevent . action Ġ== ĠAction . RIGHT _ CLICK _ BLOCK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . item ?. type Ġ== ĠMaterial . PLAYER _ HEAD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . removeItem ( ItemStack ( Material . PLAYER _ HEAD )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . REG ENER ATION , Ġ 1 0 0 , Ġ 1 , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . is Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlask Of Cle ans ing . result Ġ-> Ġitem . item Meta . persistent Data Container . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlask Of Cle ans ing . key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPersistent DataType . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMod ular B ow . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġu hc ResourceManager Ġ= ĠU HC ResourceManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġu hc ResourceManager . switch Modes ( player ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ` Master 's Comp ass `. result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . removeItem ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( entity Ġin Ġentities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġis ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġ!= Ġplayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdistance Ġ= Ġentity . location . distance ( loc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( distance Ġ< Ġlowest Distance So Far ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlowest Distance So Far Ġ= Ġdistance ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . player . sendMessage (" ì£¼ ë³Ģ ĠíĶ Į ëłĪ ìĿ´ ìĸ´ ìĿĺ ĠìľĦ ì¹ĺ ëĬĶ Ġ${ distance . toInt ()} ìŀħëĭĪëĭ¤ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGold en Head . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . remove ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . SPEED , Ġ 2 , Ġ 4 2 0 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeffects Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP otion Effect ( P otion Effect Type . REG ENER ATION , Ġ 2 0 0 , Ġ 2 , Ġtrue , Ġtrue , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP otion Effect ( P otion Effect Type . AB SOR PT ION , Ġ 2 4 0 0 , Ġ 1 , Ġtrue , Ġtrue , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . teams . find Ġ{ Ġit . players . contains ( player ) Ġ} ?. players ?. forEach Ġ{ Ġteam Player Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeffects . forEach Ġ{ Ġteam Player . add P otion Effect ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġeffects . forEach Ġ{ Ġplayer . add P otion Effect ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠC hest Of F ate . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Util . percent ( 5 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . AB SOR PT ION , Ġ 2 4 0 0 , Ġ 5 , Ġtrue , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . SPEED , Ġ 2 4 0 0 , Ġ 2 , Ġtrue , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . world . spawn Entity ( loc , EntityType . PR IME D _ T NT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠC orn u cop ia . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . SAT URATION , Ġ 1 _ 4 4 0 0 , Ġ 1 , Ġtrue , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . REG ENER ATION , Ġ 2 4 0 , Ġ 1 , Ġtrue , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBack Pack . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstorage Inventory Ġ= Ġ( event . item Ġas ? ĠC hest )?. inventory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġframe Ġ= Ġframe ( 5 , Ġtext (" Back ĠPack ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ{ Ġ_, Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġslot Ġ= Ġevent . slot ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Item Ġ= Ġevent . cursor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstorage Inventory ?. setItem ( slot , Ġcursor Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . currentItem Ġ== ĠItemStack ( Material . GRAY _ ST AIN ED _ GL ASS _ P ANE )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . result Ġ= ĠEvent . Result . DEN Y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 1 .. 9 ). forEach Ġ{ Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot ( x , Ġy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . item Ġ= ĠItemStack ( Material . GRAY _ ST AIN ED _ GL ASS _ P ANE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot ( 5 , Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . item Ġ= ĠItemStack ( Material . BAR RI ER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . open Frame ( frame ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Reg ain Health ( e : ĠEntity Reg ain Health Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . entity Ġas ? ĠPlayer ĊĠĠĠĠĠĠĠ Ġif Ġ( player Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( No He aling Ġin Ġplayer . active P otion Effects . map Ġ{ Ġit . type Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . is Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ Ġí ļ¨ ê³¼ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Item Consume ( event : ĠPlayer Item Consume Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġevent . item ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġevent . player ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItemStack ( Material . G OLD EN _ APPLE ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( P otion Effect Type . REG ENER ATION , Ġ 3 , Ġ 1 0 0 , Ġtrue , Ġtrue , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDe us Ex M ach ina . result Ġ-> Ġplayer . health Ġ= Ġplayer . health Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Arrow Shoot ( e : ĠProject ile Hit Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġ( e . entity . sh ooter Ġas ? ĠPlayer ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( player . inventory . item In Main Hand Ġ== Ġ` Art emis 's B ow `. result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Util . percent ( 1 5 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . inventory . addItem ( ItemStack ( Material . ARROW )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( player . inventory . item In Main Hand Ġ== ĠMod ular B ow . result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( U HC ResourceManager . get Modes ( player )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġe . hit Entity ?. velocity ?. normalize ()?. multiply ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . hit Entity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìķĦ ì§ģ Ġêµ¬ ìĹ° ĠëĲĺ ì§Ģ ĠìķĬ ìĿĮ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Kill ( e : ĠPlayer Death Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkill er Ġ= Ġe . entity . player ?. kill er ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġkill er ?. inventory ?. item In Main Hand ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB lood l ust . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Enchant ment ( Enchant ment . DA MAGE _ ALL , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Entity Damage By Entity ( e : ĠEntity Damage By Entity Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdam ager Ġ= Ġe . dam ager ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġe . entity ĊĠĠĠĠĠĠĠ Ġval Ġdamage Ġ= Ġe . damage ĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġ( e . entity Ġas ? ĠPlayer )?. location ĊĠĠĠĠĠĠĠ Ġif Ġ( dam ager Ġis ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Prevent Damage Ġin Ġdam ager . active P otion Effects . map Ġ{ Ġit . type Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . damage Ġ= Ġif Ġ( damage Ġ- Ġ 8 Ġ< Ġ 0 ) Ġ 0 . 0 Ġelse Ġdamage Ġ- Ġ 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( dam ager . inventory . helmet ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠEx od us . Ex od us Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdam ager . add P otion Effect ( P otion Effect ( P otion Effect Type . REG ENER ATION , Ġ 1 , Ġ 4 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( dam ager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠT NT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . location . world . create Explo sion ( entity , Ġ 4 . 0 f , Ġfalse , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġitem Ġ= Ġdam ager . inventory . item In Main Hand ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA xe Of Per un . result Ġ-> Ġlocation ?. world ?. strike Lightning ( location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ` Death 's Sc y the `. result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġis ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . health . minus ( entity . health . times ( 0 . 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadd Health Ġ= Ġdam ager . health Ġ* Ġ( damage Ġ* Ġ 0 . 2 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Health Ġ> Ġdam ager . health Scale ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdam ager . health Scale Ġ= Ġadd Health ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdam ager . health Ġ= Ġadd Health ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġdam ager . health Ġ= Ġadd Health ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDrag on S word . result Ġ-> Ġe . damage Ġ= Ġ 8 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEx calib ur . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . world . spawn Entity ( entity . location , ĠEntityType . PR IME D _ T NT ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . persistent Data Container . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠName spaced Key . minecraft (" ex calib ur _ t nt "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPersistent DataType . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ex calib ur 's Ġt nt " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdam ager . set Cooldown ( item . type , ĠEx calib ur . Ex calib ur . cool Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : Ġjava . lang . Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( e . stack Trace ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon H orse Spawn ( e : ĠEntity Spawn Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġentity Ġ= Ġe . entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠH orse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( entity Ġ! is ĠS keleton H orse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . damage ( entity . health ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity . location . world . spawn Entity ( e . location , ĠEntityType . S KE LE TON _ H OR SE ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( this Ġas ĠS keleton H orse ). is Tr apped Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattribute Ġ= Ġget Attribute ( Attribute . GENERIC _ MOVE MENT _ SPEED ) Ġ?: Ġreturn @ apply ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattribute . base Value Ġ= Ġ 1 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjump Strength Ġ= Ġ 2 . 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon P otion ( e : ĠB rew Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( e . contents . ingredient Ġ== ĠAmb ros ia . result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpot ions Ġ= Ġ( e . results Ġas ĠP otion Bre wer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ( e . results Ġas ĠP otion Meta ). custom Effects ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpot ions . create Effect ( i . type , Ġ 1 2 0 0 , Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Splash P otion ( e : ĠP otion Splash Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp otion Ġ= Ġe . p otion ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġp otion . item ĊĠĠĠĠĠĠĠ Ġval Ġitem Persistent Data Container Ġ= Ġitem . item Meta . persistent Data Container ĊĠĠĠĠĠĠĠ Ġif Ġ( item Persistent Data Container . has ( Flask Of Cle ans ing . key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer Name Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Persistent Data Container . get ( Flask Of Cle ans ing . key , Persistent DataType . STRING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . affected Entities . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġ( it Ġas ? ĠPlayer ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( player . name Ġ!= Ġplayer Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( No He aling , Ġ 1 , Ġ 4 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . add P otion Effect ( P otion Effect ( Prevent Damage , 1 , 2 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon P otion B rew ( e : ĠB rew Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( e . contents . ingredient ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAmb ros ia . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( p otion Ġin Ġe . results . map NotNull Ġ{ Ġit Ġas ? ĠP otion Meta Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( effect Ġin Ġp otion . custom Effects ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp otion . add Custom Effect ( P otion Effect ( effect . type , Ġ 1 2 0 0 , Ġ 3 ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Recipe Book Use ( e : ĠPlayer Interact Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . player . open Frame ( Recipe Book . recipe Book ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdi amond Arm ors Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠItemStack ( Material . DI AM OND _ BOOT S ), ĊĠĠĠĠĠĠĠ ĠItemStack ( Material . DI AM OND _ LE GG INGS ), ĊĠĠĠĠĠĠĠ ĠItemStack ( Material . DI AM OND _ CH EST PL ATE ), ĊĠĠĠĠĠĠĠ ĠItemStack ( Material . DI AM OND _ HEL MET ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Inventory Click ( e : ĠInventory Click Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinventory Ġ= Ġe . clicked Inventory ĊĠĠĠĠĠĠĠ Ġwhen Ġ( e . cursor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEx pert Se al . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . currentItem ?. item Meta ?. ench ants ?. forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . currentItem ?. item Meta ?. remove Enchant ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . currentItem ?. add Enchant ment ( key , Ġvalue Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEss ence Of Y gg dr as il . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . cursor ?. type Ġ= ĠMaterial . AIR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( human Ġin Ġe . view ers ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġ( human Ġas ? ĠPlayer ) Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . teams . find Ġ{ Ġplayer Ġin Ġit . players Ġ} ?. players ?. forEach Ġ{ Ġit . give Exp Levels ( 8 ) Ġ} Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . give Exp ( 2 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġplayer . give Exp Levels ( 1 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( inventory Ġis ĠAn vil Inventory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( inventory . second Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEn chant ment Book . result Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġen chant ment Ġ= ĠEn chant ment . values () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrandom Enchant Ġ= Ġen chant ment . random () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġen chant Level Ġ= Ġrandom Enchant . max Level ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . result ?. add Enchant ment ( random Enchant , Ġen chant Level ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( inventory Ġis ĠCraft ing Inventory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( inventory . contents ?. filter Ġ{ Ġ( it Ġ?: Ġreturn ) Ġin Ġdi amond Arm ors Ġ} ?. size Ġ?: Ġ 0 ) Ġ>= Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . contents ?. forEach Indexed Ġ{ Ġindex , Ġitem Stack Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ== Ġ 5 ) Ġreturn @ forEach Indexed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . remove ( item Stack Ġ?: ĠItemStack ( Material . AIR )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinventory . result Ġ= Ġdi amond Arm ors . random (). apply Ġ{ Ġadd Enchant ment ( Enchant ment . PRO TE CTION _ ENVIRONMENT AL , 4 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Forge ( e : ĠF urn ace Start S me lt Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġloc Ġ= Ġe . block . location ĊĠĠĠĠĠĠĠ Ġval Ġarm or Ġ= Ġe . block . location . world . get Near by Entities ( e . block . location , loc . x , loc . y , loc . z ). find Ġ{ Ġit . type Ġ== ĠEntityType . ARM OR _ STAND Ġ} Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġbefore Ġ= Ġarm or . persistent Data Container . get ( Forge . key , ĠPersistent DataType . INTEGER ) ĊĠĠĠĠĠĠĠ Ġarm or . persistent Data Container . set ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFor ge . key , ĠPersistent DataType . INTEGER , Ġbefore ?. minus ( 1 ) Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġe . total Cook Time Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( armor . persistent Data Container . get ( Forge . key , ĠPersistent DataType . INTEGER ) Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . block . type = ĠMaterial . AIR ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon An vil ( e : ĠPrepare An vil Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( e . inventory . any Ġ{ Ġit Ġ== ĠApp rent ice B ow . result Ġ|| Ġit Ġ== ĠApp rent ice S word . result Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . inventory . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Enchant ing Table ( e : ĠEn chant Item Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( e . item Ġ== ĠApp rent ice B ow . result Ġ|| Ġe . item Ġ== ĠApp rent ice S word . result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . is Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġe . ench an ter . sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext (" Enchant ing Ġthis Ġis Ġnot Ġallowed "). color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Color . color ( 2 5 5 , Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ /** Ċ Ġ* Ġthis Ġfunction Ġis Ġfor ĠF ate 's ĠCall Ċ Ġ* Ġ*/ Ċ Ċ private Ġfun Ġitem List ( player : ĠPlayer ): ĠInventory Ġ{ ĊĠĠĠ Ġval Ġitem List Ġ= ĠMaterial . values (). filter Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠ Ġitem . is Item ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġinventory ItemList Ġ= ĠArrayList < Material >() ĊĠĠĠ Ġval Ġche st Ġ= Ġplayer . location . block . state Ġas ĠC hest ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 9 .. 1 8 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom Item Ġ= Ġitem List . random () ĊĠĠĠĠĠĠĠ Ġche st . inventory . setItem ( i , ĠItemStack ( random Item )) ĊĠĠĠĠĠĠĠ Ġif Ġ( random Item Ġin Ġinventory ItemList ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġche st . inventory Ċ } Ċ