Posted June 30, 20232 yr I'm trying to figure out how to add a seed ("long 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?
July 1, 20232 yr Author Found WorldGenSettings#withSeed(bool, OptionalLong), but still struggling to implement it into the function.
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.