package Ġcom . the 9 ground s . ae add itions . container . gas Ċ Ċ import Ġcom . the 9 ground s . ae add itions . container . Container Upgrade able Ċ import Ġcom . the 9 ground s . ae add itions . gui . I Fluid Slot Gui Transfer Ċ import Ġcom . the 9 ground s . ae add itions . part . gas . Part Gas IO Ċ import Ġnet . minecraft . entity . player . Entity Player Ċ import Ġnet . minecraft . item . ItemStack Ċ Ċ class ĠContainer Bus Gas IO ( private Ġval Ġpart : ĠPart Gas IO , Ġplayer : ĠEntity Player ) Ġ: ĠContainer Upgrade able () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġgui Bus Fluid IO : ĠI Fluid Slot Gui Transfer ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġcan Interact With ( entity player : ĠEntity Player ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpart . isValid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĉ @ Override ĊĠĠĠ Ġ// ĉ protected Ġvoid Ġretry Slot Click ( int Ġpar 1 , Ġint Ġpar 2 , Ġboolean Ġpar 3 , ĠEntity Player Ġpar 4 Entity Player ) Ġ{ ĊĠĠĠ Ġ// ĉ ĉ // ĠNO PE ĊĠĠĠ Ġ// ĉ } ĊĠĠĠ Ġfun Ġset Gui (_ gui Bus Fluid IO : ĠI Fluid Slot Gui Transfer ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġgui Bus Fluid IO Ġ= Ġ_ gui Bus Fluid IO ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransfer Stack In Slot ( player : ĠEntity Player , Ġslo tn umber : ĠInt ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TODO : remove Ġthe Ġgui Ġfrom Ġthis ĊĠĠĠĠĠĠĠ Ġif Ġ( gui Bus Fluid IO Ġ!= Ġnull Ġ&& Ġgui Bus Fluid IO !!. shift Click ( get Slot ( slo tn umber ). stack )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġitem stack Ġ= ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠ Ġval Ġslot Ġ= Ġinventory Slots [ slo tn umber ] ĊĠĠĠĠĠĠĠ Ġif Ġ( slot Ġ!= Ġnull Ġ&& Ġslot . has Stack ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem stack 1 Ġ= Ġslot . stack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem stack Ġ= Ġitem stack 1 . copy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( slo tn umber Ġ< Ġ 3 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! merge ItemStack ( item stack 1 , Ġ 3 6 , Ġinventory Slots . size , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! merge ItemStack ( item stack 1 , Ġ 0 , Ġ 3 6 , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġitem stack 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item stack 1 . count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot . put Stack ( ItemStack . EMPTY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot . on Slot Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġitem stack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbind Player Inventory ( player . inventory , Ġ 8 , Ġ 1 0 2 ) ĊĠĠĠĠĠĠĠ Ġbind Upgrade Inventory ( part ) ĊĠĠĠĠĠĠĠ Ġbind Network Tool Inventory ( player . inventory , Ġpart ) ĊĠĠĠ Ġ} Ċ }