MassiveZappy Posted June 30, 2023 Posted June 30, 2023 I'm trying to figure out how to add a seed to this function: LevelStem createLevel(MinecraftServer server, ResourceKey<Level> levelType, long seed) { if (levelType == Level.OVERWORLD) { ServerLevel oldLevel = server.getLevel(Level.OVERWORLD); } else if (levelType == Level.NETHER) { ServerLevel oldLevel = server.getLevel(Level.NETHER); } else if (levelType == Level.END) { ServerLevel oldLevel = server.getLevel(Level.END); } else { throw new CommandRuntimeException(Component.literal(String.format("Error copying dimension: %s", "Only the overworld, nether, and end are supported"))); } ServerLevel oldLevel = server.overworld(); DynamicOps<Tag> ops = RegistryOps.create(NbtOps.INSTANCE, server.registryAccess()); ChunkGenerator oldChunkGenerator = oldLevel.getChunkSource().getGenerator(); ChunkGenerator newChunkGenerator = ChunkGenerator.CODEC.encodeStart(ops, oldChunkGenerator) .flatMap(nbt -> ChunkGenerator.CODEC.parse(ops, nbt)) .getOrThrow(false, s -> { throw new CommandRuntimeException(Component.literal(String.format("Error copying dimension: %s", s))); }); Holder<DimensionType> typeHolder = oldLevel.dimensionTypeRegistration(); // newChunkGenerator.withSeed(server.getLevel(Level.OVERWORLD).getSeed()); DOES NOT WORK return new LevelStem(typeHolder, newChunkGenerator); } I could have used ChunkGenerator#withSeed(long seed) in 1.16/1.17, but where did it move to for 1.19? If It was removed, how do I mimic this functionality? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.