package Ġex ni hi loc reat io . json Ċ Ċ import Ġcom . google . gson .* Ċ import Ġex ni hi loc reat io . regist ries . types . Fluid Block Transformer Ċ import Ġex ni hi loc reat io . util . Block Info Ċ import Ġex ni hi loc reat io . util . Entity Info Ċ import Ġnet . minecraft . item . craft ing . Ingredient Ċ import Ġjava . lang . reflect . Type Ċ Ċ object ĠCustom Fluid Block Transformer Json Ġ: ĠJson Deserializer < Fluid Block Transformer >, ĠJsonSerializer < Fluid Block Transformer > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġserialize ( src : ĠFluid Block Transformer , ĠtypeOf Src : ĠType , Ġcontext : ĠJson Serialization Context ): ĠJson Element Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJsonObject () ĊĠĠĠĠĠĠĠ Ġobj . addProperty (" fluid Name ", Ġsrc . fluid Name ) ĊĠĠĠĠĠĠĠ Ġobj . add (" input ", Ġcontext . serialize ( src . input )) ĊĠĠĠĠĠĠĠ Ġobj . add (" output ", Ġcontext . serialize ( src . output )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( src . to Spawn Ġ!== ĠEntity Info . EMPTY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobj . add (" to Spawn ", Ġcontext . serialize ( src . to Spawn )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( src . spawn Count Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobj . addProperty (" spawn Count ", Ġsrc . spawn Count ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( src . spawn Range Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobj . addProperty (" spawn Range ", Ġsrc . spawn Range ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġobj ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Json ParseException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( json : ĠJson Element , ĠtypeOf T : ĠType , Ġcontext : ĠJson Deserialization Context ): ĠFluid Block Transformer Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġjson . as JsonObject ĊĊĠĠĠĠĠĠĠ Ġreturn ĠFluid Block Transformer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobj . getAs Json Primitive (" fluid Name "). asString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . deserialize ( obj . get (" input "), ĠIng redient :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . deserialize ( obj . get (" output "), ĠBlock Info :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj . has (" to Spawn ")) Ġcontext . deserialize < Any >( obj . get (" to Spawn "), ĠEntity Info :: class . java ) Ġas ĠEntity Info Ġelse ĠEntity Info . EMPTY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj . has (" spawn Count ")) Ġobj . getAs Json Primitive (" spawn Count "). as Int Ġelse Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj . has (" spawn Range ")) Ġobj . getAs Json Primitive (" spawn Range "). as Int Ġelse Ġ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ