@@ -75,7 +75,7 @@ else if(childNetwork.get() != parentNetwork.get()) {
7575 private static void addAndSync (PastelNodeBlockEntity newNode , PastelNodeBlockEntity reference ) {
7676 assert reference .getServerNetwork ().isPresent ();
7777 var parentNetwork = reference .getServerNetwork ().get ();
78- parentNetwork .addNode (newNode );
78+ parentNetwork .addNodeAndConnect (newNode , reference );
7979 parentNetwork .markDirty (reference .getPos ());
8080 }
8181
@@ -96,7 +96,13 @@ public Optional<ServerPastelNetwork> getNetwork(UUID uuid) {
9696 public NbtCompound writeNbt (NbtCompound nbt , RegistryWrapper .WrapperLookup registryLookup ) {
9797 NbtList networkList = new NbtList ();
9898 for (ServerPastelNetwork network : this .networks ) {
99- CodecHelper .toNbt (ServerPastelNetwork .CODEC , network , networkList ::add );
99+ var opt = ServerPastelNetwork .CODEC .encodeStart (NbtOps .INSTANCE , network ).result ();
100+ if (opt .isPresent ()) {
101+ var wrapper = new NbtCompound ();
102+ wrapper .put ("network" , opt .get ());
103+ wrapper .put ("graph" , network .graphToNbt ());
104+ networkList .add (wrapper );
105+ }
100106 }
101107 nbt .put ("Networks" , networkList );
102108 return nbt ;
@@ -105,8 +111,13 @@ public NbtCompound writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup regis
105111 public static ServerPastelNetworkManager fromNbt (NbtCompound nbt ) {
106112 ServerPastelNetworkManager manager = new ServerPastelNetworkManager ();
107113 for (NbtElement element : nbt .getList ("Networks" , NbtElement .COMPOUND_TYPE )) {
108- Optional <ServerPastelNetwork > network = CodecHelper .fromNbt (ServerPastelNetwork .CODEC , element );
114+ var comp = (NbtCompound ) element ;
115+ var netNbt = comp .get ("network" );
116+ var graphNbt = comp .get ("graph" );
117+
118+ Optional <ServerPastelNetwork > network = CodecHelper .fromNbt (ServerPastelNetwork .CODEC , netNbt );
109119 if (network .isPresent ()) {
120+ network .get ().setGraph (PastelNetwork .graphFromNbt ((NbtCompound ) graphNbt ));
110121 manager .networks .add (network .get ());
111122 }
112123 }
0 commit comments