package Ġex ni hi lo fabric o . modules . bar rel s Ċ Ċ import Ġa lex i il . mc . lib . attributes . Attribute List Ċ import Ġa lex i il . mc . lib . attributes . Attribute Provider Ċ import Ġa lex i il . mc . lib . attributes . Simulation Ċ import Ġa lex i il . mc . lib . attributes . fluid . volume . Fluid Volume Ċ import Ġcom . s word glow s blue . art if ice . api . builder . data . recipe . Sh aped Recipe Builder Ċ import Ġex ni hi lo fabric o . Ex Ni hi lo Fabric o Ċ import Ġex ni hi lo fabric o . api . registry . Ex Ni hi lo Regist ries Ċ import Ġex ni hi lo fabric o . modules . Mod Effects Ċ import Ġex ni hi lo fabric o . modules . bar rel s . modes . Item Mode Ċ import Ġex ni hi lo fabric o . modules . base . Base Block Ċ import Ġex ni hi lo fabric o . modules . base . add Enchant ments Ċ import Ġex ni hi lo fabric o . modules . fluid s . Blood Fluid Ċ import Ġex ni hi lo fabric o . util . as Entity Ċ import Ġex ni hi lo fabric o . util . as Stack Ċ import Ġnet . fabric mc . fabric . api . block . Fabric Block Settings Ċ import Ġnet . minecraft . block .* Ċ import Ġnet . minecraft . ench ant ment . Enchant ment Helper Ċ import Ġnet . minecraft . ench ant ment . Enchant ments Ċ import Ġnet . minecraft . entity . Entity Ċ import Ġnet . minecraft . entity . Entity Context Ċ import Ġnet . minecraft . entity . Living Entity Ċ import Ġnet . minecraft . entity . damage . Damage Source Ċ import Ġnet . minecraft . entity . effect . Status Effect Instance Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . inventory . Side d Inventory Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . util . Hand Ċ import Ġnet . minecraft . util . Identifier Ċ import Ġnet . minecraft . util . hit . Block Hit Result Ċ import Ġnet . minecraft . util . math . Block Pos Ċ import Ġnet . minecraft . util . registry . Registry Ċ import Ġnet . minecraft . util . shape . Voxel Shape Ċ import Ġnet . minecraft . world . Block View Ċ import Ġnet . minecraft . world . I World Ċ import Ġnet . minecraft . world . World Ċ Ċ class ĠBar rel Block ( val Ġtexture : ĠIdentifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcraft Ingredient 1 : ĠIdentifier , Ġval Ġcraft Ingredient 2 : ĠIdentifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsettings : ĠFabric Block Settings Ġ= ĠFabric Block Settings . of ( Material . WO OD )): ĊĠĠĠĠĠĠĠ ĠBase Block ( settings ), ĠBlock Entity Provider , ĠAttribute Provider , ĠInventory Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Outline Shape ( state : ĠBlock State ?, Ġview : ĠBlock View ?, Ġpos : ĠBlockPos ?, Ġentity Context : ĠEntity Context ?) Ġ= ĠSHA PE ĊĠĠĠ Ġoverride Ġfun Ġget Render Layer () Ġ= ĠBlock Render Layer . CUT OUT ĊĠĠĠ Ġoverride Ġfun Ġget Render Type ( state : ĠBlock State ?) Ġ= ĠBlock Render Type . MODEL ĊĊĠĠĠ Ġoverride Ġfun Ġactivate ( state : ĠBlock State ?, Ġworld : ĠWorld ?, Ġpos : ĠBlockPos ?, Ġplayer : ĠPlayer Entity ?, Ġhand : ĠHand ?, Ġhit Result : ĠBlock Hit Result ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( world ?. is Client Ġ!= Ġfalse Ġ|| Ġpos Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( pos ) ĊĠĠĠĠĠĠĠ Ġif ( block Entity Ġis ĠBar rel Block Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġblock Entity . activate ( state , Ġplayer , Ġhand , Ġhit Result ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġadd All Attributes ( world : ĠWorld , Ġpos : ĠBlockPos , Ġstate : ĠBlock State , Ġattributes : ĠAttribute List <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( pos ) ĊĠĠĠĠĠĠĠ Ġif ( block Entity Ġis ĠBar rel Block Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes . offer ( block Entity . item Transfer able ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes . offer ( block Entity . fluid Transfer able ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Inventory ( state : ĠBlock State ?, Ġworld : ĠI World ?, Ġpos : ĠBlockPos ): ĠS ided Inventory ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( world ?. getBlock Entity ( pos ) Ġas ? ĠBar rel Block Entity )?. inventory ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Break ( world : ĠWorld , Ġpos : ĠBlockPos , Ġstate : ĠBlock State , Ġplayer : ĠPlayer Entity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( player ?. is Creative Ġ== Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( world . getBlock Entity ( pos ) Ġas ? ĠBar rel Block Entity )?. let { bar rel Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstack Ġ= Ġthis . as Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstack . add Enchant ments ( bar rel . ench ant ments ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld . spawn Entity ( stack . as Entity ( world , Ġpos )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( bar rel . mode Ġas ? ĠItem Mode )?. let Ġ{ Ġmode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld . spawn Entity ( mode . stack . as Entity ( world , Ġpos )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Break ( world , Ġpos , Ġstate , Ġplayer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMil king ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Ste pped On ( world : ĠWorld , Ġpos : ĠBlockPos , Ġentity : ĠEntity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( entity Ġas ? ĠL iving Entity )?. let { living Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ex Ni hi lo Fabric o . config . modules . bar rel s . enable B le ed ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( world . getBlock Entity ( pos ) Ġas ? ĠBar rel Block Entity )?. let Ġ{ Ġbar rel Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġth or ns Ġ= Ġbar rel . ench ant ments . get Enchant ment Level ( Enchant ments . TH OR NS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( thor ns Ġ> Ġ 0 Ġ&& Ġliving . damage ( Damage Source . C ACT US , Ġth or ns . toFloat ()/ 2 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvolume Ġ= ĠFluid Volume . create ( Blood Fluid . still , Ġ( Fluid Volume . BUCKET * thor ns Ġ/ Ġliving . health Maximum ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbar rel . fluid Transfer able . attempt Insertion ( volume , ĠSimulation . ACTION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( entity Ġis ĠPlayer Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! living . has Status Effect ( Mod Effects . MIL K ED )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġduration Ġ= ĠEx Ni hi lo Regist ries . BAR REL _ MIL K ING . getResult ( entity )?. let Ġ{ Ġ( volume , Ġcool down ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( world . getBlock Entity ( pos ) Ġas ? ĠBar rel Block Entity )?. fluid Transfer able ?. attempt Insertion ( volume , ĠSimulation . ACTION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcool down Ġ} Ġ?: Ġ 7 2 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġliving . add P otion Effect ( Status Effect Instance ( Mod Effects . MIL K ED , Ġduration , 1 , Ġfalse , Ġfalse , Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBlock Entity Ġfunctions ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġhas Block Entity () Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġfun Ġcreate Block Entity ( world : ĠBlock View ?) Ġ= ĠBar rel Block Entity ( is Stone Ġ= Ġthis . material Ġ== ĠMaterial . ST ONE ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Pl aced ( world : ĠWorld ?, Ġpos : ĠBlockPos ?, Ġstate : ĠBlock State ?, Ġpl acer : ĠL iving Entity ?, Ġitem Stack : ĠItemStack ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbar rel Ġ= Ġ( world ?. getBlock Entity ( pos ) Ġas ? ĠBar rel Block Entity ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ ĠEn chant ment Helper . get Enchant ments ( item Stack ). forEach Ġ{ Ġen chant ment , Ġlevel Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbar rel . ench ant ments . set Enchant ment Level ( ench ant ment , Ġlevel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgenerate Recipe ( builder : ĠSh aped Recipe Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . pattern (" x Ġx ", Ġ" x Ġx ", Ġ" xy x ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ingredient Item (' x ', Ġcraft Ingredient 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ingredient Item (' y ', Ġcraft Ingredient 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. result ( Registry . ITEM . getId ( as Item ()), Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠSHA PE : ĠV oxel Shape Ġ= Ġcreate Cub oid Shape ( 1 . 0 , Ġ 0 . 0 , Ġ 1 . 0 , Ġ 1 5 . 0 , Ġ 1 6 . 0 , Ġ 1 5 . 0 ) ĊĠĠĠ Ġ} Ċ }