package Ġio . github . red stone par ad ox . server bullet in . server Ċ Ċ import Ġio . github . red stone par ad ox . server bullet in . Bullet in Message Ċ import Ġio . github . red stone par ad ox . server bullet in . Server Bullet in Ċ import Ġnet . fabric mc . fabric . api . networking . v 1 . Packet Byte Bu fs Ċ import Ġnet . fabric mc . fabric . api . networking . v 1 . Server Play Networking Ċ import Ġnet . minecraft . nbt . Compound Tag Ċ import Ġnet . minecraft . server . network . Server Player Entity Ċ import Ġnet . minecraft . server . world . Server World Ċ import Ġnet . minecraft . text . Text Ċ import Ġnet . minecraft . world . Persistent StateManager Ċ Ċ object ĠServer Networking Ġ{ ĊĠĠĠ Ġfun Ġinit Re ceiv ers () Ġ{ ĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( Server Bullet in . REQUEST _ B UL LET INS _ PACKET ) Ġ{ Ġserver , Ġplayer , Ġhandler , Ġbuf , Ġsender Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworld Ġ= Ġplayer . world ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( world Ġ! is ĠServer World ) Ġthrow ĠException (" Something Ġhas Ġserious ly Ġgone Ġwrong .") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Request Bullet ins ( player , Ġworld ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( Server Bullet in . ADD _ B UL LET IN _ PACKET ) Ġ{ Ġserver , Ġplayer , Ġhandler , Ġbuf , Ġsender Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Add Bullet in ( player , Ġ( player . world Ġas ĠServer World ). persistent StateManager , Ġbuf . read Text (), Ġbuf . read Text ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( Server Bullet in . UPDATE _ B UL LET IN _ PACKET ) Ġ{ Ġserver , Ġplayer , Ġhandler , Ġbuf , Ġsender Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate Bullet in ( player , Ġ( player . world Ġas ĠServer World ). persistent StateManager , Ġbuf . readInt (), Ġbuf . read Text (), Ġbuf . read Text ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠServer Play Networking . register Global Receiver ( Server Bullet in . DELETE _ B UL LET IN _ PACKET ) Ġ{ Ġserver , Ġplayer , Ġhandler , Ġbuf , Ġsender Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonDelete Bullet in ( player , Ġ( player . world Ġas ĠServer World ). persistent StateManager , Ġbuf . readInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Request Bullet ins ( player : ĠServer Player Entity , Ġworld : ĠServer World ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠServer Bullet in Server . get OrCreate Bullet in State ( world . persistent StateManager ) ĊĠĠĠĠĠĠĠ Ġval Ġbullet in Tags Ġ= Ġstate . bullet ins . map Ġ{ Ġit . to Tag ( Compound Tag ()) Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bullet in Tags . size Ġ> Ġ 2 5 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠPacket Byte Bu fs . create () ĊĠĠĠĠĠĠĠ Ġbuf . write Byte ( bullet in Tags . size Ġ- Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġbullet in Tags . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Compound Tag ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠServer Play Networking . send ( player , ĠServer Bullet in . RECEIVE _ B UL LET INS _ PACKET , Ġbuf ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Add Bullet in ( player : ĠServer Player Entity , Ġmanager : ĠPersistent StateManager , Ġtitle : ĠText , Ġmessage : ĠText ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠServer Bullet in Server . get OrCreate Bullet in State ( manager ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( player . has Permission Level ( 4 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . bullet ins . add ( Bullet in Message ( title , Ġmessage )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . mark Dirty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonUpdate Bullet in ( player : ĠServer Player Entity , Ġmanager : ĠPersistent StateManager , Ġindex : ĠInt , Ġtitle : ĠText , Ġmessage : ĠText ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠServer Bullet in Server . get OrCreate Bullet in State ( manager ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( player . has Permission Level ( 4 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . bullet ins [ index ] Ġ= ĠBullet in Message ( title , Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . mark Dirty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonDelete Bullet in ( player : ĠServer Player Entity , Ġmanager : ĠPersistent StateManager , Ġindex : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠServer Bullet in Server . get OrCreate Bullet in State ( manager ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( player . has Permission Level ( 4 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . bullet ins . remove At ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . mark Dirty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }