Ċ package Ġcom . github . ro che do 0 9 8 . d roid s . screen Ċ Ċ import Ġcom . github . ro che do 0 9 8 . d roid s . Droid s Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . entity . player . Player Inventory Ċ import Ġnet . minecraft . inventory . Inventory Ċ import Ġnet . minecraft . inventory . Simple Inventory Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . screen . Screen Handler Ċ import Ġnet . minecraft . screen . slot . Slot Ċ Ċ open Ġclass ĠSimple Screen Handler ( sync Id : ĠInt , Ġplayer Inventory : ĠPlayer Inventory ): ĠScreen Handler ( Droid s . SIMPLE _ SCREEN _ HANDLER , Ġsync Id ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġinventory : ĠInventory ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinventory Ġ= ĠSimple Inventory ( 9 ) ĊĊĠĠĠĠĠĠĠ Ġcheck Size ( inventory , Ġ 9 ) ĊĠĠĠĠĠĠĠ Ġthis . inventory !!. on Open ( player Inventory . player ) ĊĠĠĠĠĠĠĠ Ġvar Ġi : ĠInt ĊĠĠĠĠĠĠĠ Ġvar Ġj : ĠInt ĊĠĠĠĠĠĠĠ Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( j Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Slot ( Slot ( inventory , Ġj Ġ+ Ġi Ġ* Ġ 3 , Ġ 6 2 Ġ+ Ġj Ġ* Ġ 1 8 , Ġ 1 7 Ġ+ Ġi Ġ* Ġ 1 8 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ++ j ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ++ i ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( j Ġ< Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Slot ( Slot ( player Inventory , Ġj Ġ+ Ġi Ġ* Ġ 9 Ġ+ Ġ 9 , Ġ 8 Ġ+ Ġj Ġ* Ġ 1 8 , Ġ 8 4 Ġ+ Ġi Ġ* Ġ 1 8 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ++ j ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ++ i ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Slot ( Slot ( player Inventory , Ġi , Ġ 8 Ġ+ Ġi Ġ* Ġ 1 8 , Ġ 1 4 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ++ i ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcan Use ( player : ĠPlayer Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . inventory !!. can Player Use ( player ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransfer Slot ( player : ĠPlayer Entity ?, Ġindex : ĠInt ): ĠItemStack ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġitem Stack Ġ= ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠ Ġval Ġslot Ġ= Ġslots [ index ] ĊĠĠĠĠĠĠĠ Ġif Ġ( slot Ġ!= Ġnull Ġ&& Ġslot . has Stack ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Stack 2 Ġ= Ġslot . stack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack Ġ= Ġitem Stack 2 . copy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ< Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! insert Item ( item Stack 2 , Ġ 9 , Ġ 4 5 , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! insert Item ( item Stack 2 , Ġ 0 , Ġ 9 , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Stack 2 . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot . stack Ġ= ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslot . mark Dirty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Stack 2 . count Ġ== Ġitem Stack . count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠItemStack . EMPTY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslot . on Take Item ( player , Ġitem Stack 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġitem Stack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose ( player : ĠPlayer Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . close ( player ) ĊĠĠĠĠĠĠĠ Ġthis . inventory !!. onClose ( player ) ĊĠĠĠ Ġ} Ċ }