package Ġgg . r sm od . plugins . content . me chan ics . water Ċ Ċ /** Ċ Ġ* ĠHandle Ġthe Ġfilling Ġof Ġeach Ġ[ Water Containers ]' Ġ[ Item ] Ġfor Ġeach Ġof Ġthe Ġ[ Water Sources ] Ċ Ġ*/ Ċ Water Sources . values (). forEach Ġ{ Ġsource Ġ-> ĊĠĠĠ Ġsource . water Obj Ids . forEach Ġ{ Ġobj Ġ-> ĊĠĠĠĠĠĠĠ ĠWater Containers . values (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon _ item _ on _ obj ( obj Ġ= Ġobj , Ġitem Ġ= Ġit . container . un filled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġif ( it . container . un filled . getItem Name ( world . definitions ). contains (" Cup ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" You Ġfill Ġthe Ġcup ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . message . replace ItemName ( it . container . un filled , Ġworld . definitions ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . container . fill ( player , Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠHandle Ġthe Ġempty ing Ġof Ġeach Ġ[ Water Containers ]' Ġ[ Item ] Ġexcept Ġfor ĠWater ing Ġcan Ċ Ġ* Ġand ĠW aters kin Ġas Ġthey ĠDO ĠNOT Ġhave Ġ" Empty " Ġoption , Ġonly Ġ" Drop " Ġor Ġ" Use ". Ċ Ġ*/ Ċ Water Containers . values (). filter Ġ{ Ġit Ġ!= ĠWater Containers . CAN Ġ&& Ġit Ġ!= ĠWater Containers . W AT ERS K IN Ġ}. forEach Ġ{ ĊĠĠĠ Ġon _ item _ option ( item Ġ= Ġit . container . filled , Ġoption Ġ= Ġ" Empty ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit . container . empty ( player ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ Water Containers . values (). forEach Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUsing Ġ[ Water Container ] Ġon Ġanother Ġone Ġdoes Ġnothing , ĊĠĠĠĠ Ġ* Ġyou Ġcannot Ġtransfer Ġwater Ġaround Ġlike Ġpot s , Ġyou Ġmust Ġfill Ġthem . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġon _ item _ on _ item ( it . container . filled , Ġit . container . filled ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . nothing Message () ĊĠĠĠ Ġ} ĊĠĠĠ Ġon _ item _ on _ item ( it . container . un filled , Ġit . container . filled ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . nothing Message () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTo y Ġsink Ġitem ! ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġon _ item _ on _ item ( Items . S INK , Ġit . container . un filled ){ ĊĠĠĠĠĠĠĠ Ġit . container . fill ( player , Ġ" The Ġc ute Ġsink Ġfill s Ġthe Ġ${ it . container . un filled . getItem Name ( world . definitions , Ġlowercase Ġ= Ġtrue )} Ġto Ġthe Ġb rim .") ĊĠĠĠ Ġ} ĊĠĠĠ Ġon _ item _ on _ item ( Items . S INK , Ġit . container . filled ){ ĊĠĠĠĠĠĠĠ Ġplayer . message (" The Ġ${ it . container . un filled . getItem Name ( world . definitions , Ġlowercase Ġ= Ġtrue )} Ġcannot Ġhold Ġany Ġmore Ġwater .") ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġse xy Ġlittle Ġdrop Ġhack Ġcreates Ġa Ġto y Ġsink Ġobject Ġone Ġtile Ġnorth Ċ Ġ* Ġof Ġplayer Ġand Ġqueues Ġit Ġfor Ġremoval Ġafter Ġ 3 0 0 Ġcycles Ġ(~ 3 minutes ) Ċ Ġ* Ġalso Ġprevents Ġfrom Ġdropping Ġitem Ġfrom Ġinventory , Ġbut Ġcould Ġbe Ġdone Ġhere Ċ Ġ*/ Ċ can _ drop _ item ( Items . S INK ) Ġ{ ĊĠĠĠ Ġval Ġobj Ġ= ĠDynamic Object ( Objs . TO Y _ S INK , Ġ 1 0 , Ġ 3 , Ġplayer . tile . transform ( 0 , 1 )) ĊĠĠĠ Ġworld . spawn ( obj ) ĊĠĠĠ Ġplayer . world . queue Ġ{ ĊĠĠĠĠĠĠĠ Ġwait ( 3 0 0 ) ĊĠĠĠĠĠĠĠ Ġworld . remove ( obj ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfalse Ċ } Ċ Ċ /** Ċ Ġ* Ġhot Ġwater Ġis Ġapparently Ġonly Ġcreated Ġin Ġb ow ls Ġlo l , Ġregistering Ġb ow ls Ġto Ġheat Ċ Ġ* Ġhere Ġwould Ġrequire Ġknowing Ġall Ġthe Ġfire Ġsources Ġso Ġwe 'll Ġignore Ġlack Ġof Ġability Ċ Ġ* Ġto Ġmake Ġfor Ġnow ; Ġthis Ġis Ġmostly Ġused Ġfor Ġtesting ĠG uth ix Ġrest Ġte as Ġwithout Ġheat Ġplugins . Ċ Ġ*/ Ċ on _ item _ on _ item ( Items . BO WL _ OF _ HOT _ WATER , ĠItems . EMPTY _ CUP ){ ĊĠĠĠ Ġif ( player . combo Item Replace ( old Item Ġ= ĠItems . EMPTY _ CUP , Ġnew Item Ġ= ĠItems . CUP _ OF _ HOT _ WATER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother Old Ġ= ĠItems . BO WL _ OF _ HOT _ WATER , Ġother New Ġ= ĠItems . BO WL , Ġslot Aware Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠ Ġplayer . message (" You Ġpour Ġthe Ġhot Ġwater Ġinto Ġthe Ġtea Ġcup .") Ċ } Ċ