33import dev .architectury .networking .NetworkManager ;
44import dev .ftb .mods .ftbquests .api .FTBQuestsAPI ;
55import dev .ftb .mods .ftbquests .quest .task .StructureTask ;
6+ import net .minecraft .core .Registry ;
67import net .minecraft .core .registries .Registries ;
78import net .minecraft .network .FriendlyByteBuf ;
89import net .minecraft .network .codec .ByteBufCodecs ;
1314
1415import java .util .ArrayList ;
1516import java .util .List ;
17+ import java .util .Set ;
18+ import java .util .stream .Stream ;
1619
1720public record SyncStructuresResponseMessage (List <String > data ) implements CustomPacketPayload {
1821 public static final Type <SyncStructuresResponseMessage > TYPE = new Type <>(FTBQuestsAPI .id ("sync_structures_response_message" ));
@@ -25,14 +28,19 @@ public record SyncStructuresResponseMessage(List<String> data) implements Custom
2528 public static SyncStructuresResponseMessage create (MinecraftServer server ) {
2629 List <String > data = new ArrayList <>();
2730 data .addAll (server .registryAccess ()
28- .getOrThrow (Registries .STRUCTURE ).value ().keySet ().stream ()
31+ .lookup (Registries .STRUCTURE )
32+ .map (Registry ::keySet )
33+ .orElseGet (Set ::of )
34+ .stream ()
2935 .map (Identifier ::toString )
3036 .sorted (String ::compareTo )
3137 .toList ()
3238 );
3339 data .addAll (server .registryAccess ()
34- .getOrThrow (Registries .STRUCTURE ).tags ()
35- .map (o -> "#" + o .location ())
40+ .lookup (Registries .STRUCTURE )
41+ .map (Registry ::getTags )
42+ .orElseGet (Stream ::of )
43+ .map (o -> "#" + o .key ().location ())
3644 .sorted (String ::compareTo )
3745 .toList ()
3846 );
0 commit comments