package Ġju ux el . ad orn . fluid Ċ Ċ import Ġju ux el . ad orn . platform . Fluid Rendering Bridge Ċ import Ġnet . minecraft . fluid . Fluid Ċ import Ġnet . minecraft . fluid . Fluid s Ċ import Ġnet . minecraft . nbt . N bt Compound Ċ import Ġnet . minecraft . network . Packet Byte Buf Ċ import Ġnet . minecraft . util . registry . Registry Ċ Ċ abstract Ġclass ĠFluid Reference Ġ{ ĊĠĠĠ Ġabstract Ġvar Ġfluid : ĠFluid ĊĠĠĠ Ġabstract Ġvar Ġamount : ĠLong ĊĠĠĠ Ġabstract Ġvar Ġn bt : ĠNbt Compound ? ĊĠĠĠ Ġval ĠisEmpty : ĠBoolean Ġget () Ġ= Ġfluid Ġ== ĠFluid s . EMPTY Ġ|| Ġamount Ġ== Ġ 0 L ĊĠĠĠ Ġ/** ĠThe Ġamount Ġin Ġlit res Ġif Ġ[ amount ] Ġis Ġin Ġplatform Ġunits . Ġ*/ ĊĠĠĠ Ġvar Ġamount In Lit res : ĠLong ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġamount Ġ* Ġ 1 0 0 0 Ġ/ ĠFluid Rendering Bridge . get (). bucket Volume ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġvalue Ġ* ĠFluid Rendering Bridge . get (). bucket Volume Ġ/ Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite ( buf : ĠPacket Byte Buf ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Boolean ( false ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Boolean ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Var Int ( Registry . FL UID . getRaw Id ( fluid )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Var Long ( amount ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write N bt ( nbt ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġread ( buf : ĠPacket Byte Buf ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( buf . read Boolean ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid Ġ= ĠRegistry . FL UID [ buf . read Var Int ()] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġbuf . read Var Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn bt Ġ= Ġbuf . read N bt () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfluid Ġ= ĠFluid s . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn bt Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcopy (): ĠFluid Volume Ġ= ĠFluid Volume ( fluid , Ġamount , Ġn bt ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġare Fluid s Equal ( a : ĠFluid Reference , Ġb : ĠFluid Reference ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a . isEmpty ) Ġreturn Ġb . isEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġa . fluid Ġ== Ġb . fluid Ġ&& Ġa . nbt Ġ== Ġb . nbt ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġare Contents Equal ( a : ĠFluid Reference , Ġb : ĠFluid Reference ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a . isEmpty ) Ġreturn Ġb . isEmpty ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġare Fluid s Equal ( a , Ġb ) Ġ&& Ġa . amount Ġ== Ġb . amount ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠPot entially Ġloss y . ĊĠĠĠĠĠĠĠ Ġfun ĠconvertTo Platform ( amount : ĠLong ): ĠLong Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ* ĠFluid Rendering Bridge . get (). bucket Volume Ġ/ Ġ 1 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġ// ĠPot entially Ġloss y . ĊĠĠĠĠĠĠĠ Ġfun ĠconvertTo Lit res ( amount : ĠLong ): ĠLong Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ* Ġ 1 0 0 0 Ġ/ ĠFluid Rendering Bridge . get (). bucket Volume ĊĠĠĠ Ġ} Ċ } Ċ