package Ġnet . s istr . flex ible gun s . setup Ċ Ċ import Ġme . s hed an iel . architect ury . registry . Deferred Register Ċ import Ġme . s hed an iel . architect ury . registry . Menu Registry Ċ import Ġnet . minecraft . entity . EntityType Ċ import Ġnet . minecraft . entity . Spawn Group Ċ import Ġnet . minecraft . entity . player . Player Inventory Ċ import Ġnet . minecraft . item . Block Item Ċ import Ġnet . minecraft . item . Item Ċ import Ġnet . minecraft . item . Spawn E gg Item Ċ import Ġnet . minecraft . screen . Screen HandlerContext Ċ import Ġnet . minecraft . util . registry . Registry Ċ import Ġnet . minecraft . world . World Ċ import Ġnet . s istr . flex ible gun s . Flex ible G uns Mod Ċ import Ġnet . s istr . flex ible gun s . block . Gun Table Block Ċ import Ġnet . s istr . flex ible gun s . block . Gun Table Screen Handler Ċ import Ġnet . s istr . flex ible gun s . entity . F GB ot Entity Ċ import Ġnet . s istr . flex ible gun s . entity . F GB ullet Entity Ċ import Ġnet . s istr . flex ible gun s . item . Gun Item Ċ Ċ object ĠRegistration Ġ{ ĊĠĠĠ Ġprivate Ġval ĠBLOCK S Ġ= ĠDeferred Register . create ( Flex ible G uns Mod . MOD ID , ĠRegistry . BLOCK _ KEY ) ĊĠĠĠ Ġprivate Ġval ĠITE MS Ġ= ĠDeferred Register . create ( Flex ible G uns Mod . MOD ID , ĠRegistry . ITEM _ KEY ) ĊĠĠĠ Ġprivate Ġval ĠENT ITY _ TYPE Ġ= ĠDeferred Register . create ( Flex ible G uns Mod . MOD ID , ĠRegistry . ENTITY _ TYPE _ KEY ) ĊĠĠĠ Ġprivate Ġval ĠSCREEN _ HANDLER Ġ= ĠDeferred Register . create ( Flex ible G uns Mod . MOD ID , ĠRegistry . MENU _ KEY ) ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ ĠBLOCK S . register () ĊĠĠĠĠĠĠĠ ĠITE MS . register () ĊĠĠĠĠĠĠĠ ĠENT ITY _ TYPE . register () ĊĠĠĠĠĠĠĠ ĠSCREEN _ HANDLER . register () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠG UN _ TABLE _ BLOCK Ġ= ĠBLOCK S . register (" gun _ table ") Ġ{ ĊĠĠĠĠĠĠĠ ĠG un Table Block () Ġ} ĊĠĠĠ Ġval ĠG UN _ TABLE _ ITEM Ġ= ĠITE MS . register (" gun _ table ") Ġ{ ĊĠĠĠĠĠĠĠ ĠBlock Item ( G UN _ TABLE _ BLOCK . get (), ĠItem . Settings (). group ( Mod Setup . ITEM _ GROUP )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠG UN _ ITEM _ BEFORE Ġ= ĠG un Item ( Item . Settings (). max Count ( 1 )) ĊĠĠĠ Ġval ĠG UN _ ITEM Ġ= ĠITE MS . register (" gun ") Ġ{ ĠG UN _ ITEM _ BEFORE Ġ} ĊĠĠĠ Ġval ĠBOT _ SPA WN _ E GG Ġ= ĠITE MS . register (" bot _ spawn _ egg ") Ġ{ ĊĠĠĠĠĠĠĠ ĠSpawn E gg Item ( BOT _ ENTITY _ BEFORE , Ġ 0 x FFFFFF , Ġ 0 x 0 , ĠItem . Settings (). group ( Mod Setup . ITEM _ GROUP )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠB UL LET _ ENTITY _ BEFORE Ġ= ĠEntityType . Builder . create ( ĊĠĠĠĠĠĠĠ Ġ{ Ġtype : ĠEntityType < F GB ullet Entity >, Ġworld : ĠWorld Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF GB ullet Entity ( type , Ġworld ) ĊĠĠĠĠĠĠĠ Ġ}, ĠSpawn Group . MISC ĊĠĠĠ Ġ). set Dimensions ( 0 . 0 5 f , Ġ 0 . 0 5 f ) ĊĠĠĠĠĠĠĠ Ġ. max Tracking Range ( 4 ) ĊĠĠĠĠĠĠĠ Ġ. tracking Tick Interval ( 2 0 ) ĊĠĠĠĠĠĠĠ Ġ. build (" bullet ") ĊĠĠĠ Ġval ĠB UL LET _ ENTITY Ġ= ĠENT ITY _ TYPE . register (" bullet ") Ġ{ ĊĠĠĠĠĠĠĠ ĠB UL LET _ ENTITY _ BEFORE ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠBOT _ ENTITY _ BEFORE Ġ= ĠEntityType . Builder . create ( ĊĠĠĠĠĠĠĠ Ġ{ Ġtype : ĠEntityType < F GB ot Entity >, Ġworld : ĠWorld Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF GB ot Entity ( type , Ġworld ) ĊĠĠĠĠĠĠĠ Ġ}, ĠSpawn Group . MON STER ĊĠĠĠ Ġ). set Dimensions ( 0 . 6 f , Ġ 1 . 8 f ) ĊĠĠĠĠĠĠĠ Ġ. max Tracking Range ( 3 2 ) ĊĠĠĠĠĠĠĠ Ġ. tracking Tick Interval ( 2 ) ĊĠĠĠĠĠĠĠ Ġ. build (" bullet ") ĊĠĠĠ Ġval ĠBOT _ ENTITY Ġ= ĠENT ITY _ TYPE . register (" bot ") Ġ{ ĠBOT _ ENTITY _ BEFORE Ġ} ĊĊĠĠĠ Ġval ĠG UN _ TABLE _ SCREEN _ HANDLER _ BEFORE Ġ= ĠMenu Registry . of Ġ{ Ġsync Id : ĠInt , Ġinventory : ĠPlayer Inventory Ġ-> ĊĠĠĠĠĠĠĠ ĠG un Table Screen Handler ( sync Id , Ġinventory , ĠScreen HandlerContext . EMPTY ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠG UN _ TABLE _ SCREEN _ HANDLER Ġ= ĠSCREEN _ HANDLER . register (" gun _ table ") Ġ{ ĊĠĠĠĠĠĠĠ ĠG UN _ TABLE _ SCREEN _ HANDLER _ BEFORE ĊĠĠĠ Ġ} Ċ Ċ }