Skip to content

Commit 532b1cb

Browse files
fix: structure lookup
1 parent 41ee5f4 commit 532b1cb

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

common/src/main/java/dev/ftb/mods/ftbquests/net/SyncStructuresResponseMessage.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import dev.architectury.networking.NetworkManager;
44
import dev.ftb.mods.ftbquests.api.FTBQuestsAPI;
55
import dev.ftb.mods.ftbquests.quest.task.StructureTask;
6+
import net.minecraft.core.Registry;
67
import net.minecraft.core.registries.Registries;
78
import net.minecraft.network.FriendlyByteBuf;
89
import net.minecraft.network.codec.ByteBufCodecs;
@@ -13,6 +14,8 @@
1314

1415
import java.util.ArrayList;
1516
import java.util.List;
17+
import java.util.Set;
18+
import java.util.stream.Stream;
1619

1720
public 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

Comments
 (0)