package Ġme . ste ven . ind rev . packets . common Ċ Ċ import Ġme . ste ven . ind rev . api . machines . Transfer Mode Ċ import Ġme . ste ven . ind rev . api . side configs . Configuration Type Ċ import Ġme . ste ven . ind rev . block entities . Global State Controller Ċ import Ġme . ste ven . ind rev . block entities . Machine Block Entity Ċ import Ġme . ste ven . ind rev . utils . identifier Ċ import Ġnet . fabric mc . fabric . api . networking . v 1 . Server Play Networking Ċ import Ġnet . minecraft . util . math . Direction Ċ Ċ object ĠConfigure I OP ackets Ġ Ġ{ ĊĊĠĠĠ Ġval ĠUPDATE _ MACHINE _ SIDE _ PACKET _ ID Ġ= Ġidentifier (" update _ machine _ side ") ĊĠĠĠ Ġval ĠUPDATE _ AUTO _ OPERATION _ PACKET _ ID Ġ= Ġidentifier (" update _ auto _ pull _ push ") ĠĊ ĊĠĠĠĠ Ġfun Ġregister () Ġ{ ĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( UPDATE _ MACHINE _ SIDE _ PACKET _ ID ) Ġ{ Ġserver , Ġplayer , Ġ_, Ġbuf , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġbuf . read Enum Constant ( Configuration Type :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpos Ġ= Ġbuf . read Block Pos () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠDirection . by Id ( buf . readInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmode Ġ= ĠTransfer Mode . values ()[ buf . readInt ()] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworld Ġ= Ġplayer . world ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( pos ) Ġas ? ĠMachine Block Entity < *> Ġ?: Ġreturn @ execute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . getCurrent Configuration ( type )[ dir ] Ġ= Ġmode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . mark Dirty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal State Controller . update ( world , Ġpos , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( UPDATE _ AUTO _ OPERATION _ PACKET _ ID ) Ġ{ Ġserver , Ġplayer , Ġ_, Ġbuf , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġbuf . read Enum Constant ( Configuration Type :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġop Type Ġ= Ġbuf . read Byte () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpos Ġ= Ġbuf . read Block Pos () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġbuf . read Boolean () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworld Ġ= Ġplayer . world ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( pos ) Ġas ? ĠMachine Block Entity < *> Ġ?: Ġreturn @ execute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op Type . toInt () Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . getCurrent Configuration ( type ). auto Push Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . getCurrent Configuration ( type ). auto Pull Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity . mark Dirty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }