package Ġflavor . pie . s unk cost Ċ Ċ import Ġflavor . pie . kl udge .* Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . spongepowered . api . config . Config Dir Ċ import Ġorg . spongepowered . api . data . Data Container Ċ import Ġorg . spongepowered . api . data . Data Query Ċ import Ġorg . spongepowered . api . data . persistence . Data Formats Ċ import Ġorg . spongepowered . api . event . Listener Ċ import Ġorg . spongepowered . api . event . game . state . Game Pre Initialization Event Ċ import Ġorg . spongepowered . api . plugin . Plugin Ċ import Ġorg . spongepowered . api . text . Text Ċ import Ġorg . spongepowered . api . text . serializer . Text Serial izers Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġjava . util . UUID Ċ import Ġjavax . inject . Inject Ċ Ċ @ Plugin ( id Ġ= ĠS unk Cost . ID , Ġname Ġ= ĠS unk Cost . NAME , Ġversion Ġ= ĠS unk Cost . VERSION , Ġdescription Ġ= ĠS unk Cost . DESCRIPTION , Ġauthors Ġ= Ġ[" pie _ flavor "]) Ċ class ĠS unk Cost Ġ@ Inject Ġconstructor (@ Config Dir ( shared Root Ġ= Ġfalse ) Ġval Ġdir : ĠPath ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠID Ġ= Ġ" s unk cost " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNAME Ġ= Ġ" S unk Cost " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVERSION Ġ= Ġ" 1 . 0 - SNAPSHOT " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESCRIPTION Ġ= Ġ" Runs ĠBu kkit Ġplugins Ġon ĠSp onge ." ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġplugin Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Listener ĊĠĠĠ Ġfun Ġon Pre Init ( e : ĠGame Pre Initialization Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBu kkit . set Server ( S unk Server ) ĊĠĠĠĠĠĠĠ Ġval Ġdata Path Ġ= Ġdir . resolve ("$ ID . dat ") ĊĠĠĠĠĠĠĠ Ġif Ġ( Files . exists ( data Path )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontainer Ġ= ĠFiles . new InputStream ( data Path ). use Ġ{ ĠData Formats . NBT . read From ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS unk Server . server Id Ġ= Ġcontainer . getString ( Data Query . of (" Server ID ")). get () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS unk Server . server Id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontainer Ġ= ĠData Container . createNew () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer [ Data Query . of (" Server ID ")] Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . new OutputStream ( data Path ). use Ġ{ ĠData Formats . NBT . writeTo ( it , Ġcontainer ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠString . text By Code (): ĠText Ġ= ĠText Serial izers . LEG ACY _ FORMAT TING _ CODE . deserialize ( this ) Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ fun ĠText . string By Code (): ĠString Ġ= ĠText Serial izers . LEG ACY _ FORMAT TING _ CODE . serialize ( this ) Ċ