From f13294bf6ce2ef9053c46e9bded6bc3f3a6d612b Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 4 Jul 2014 13:28:45 +1000 Subject: [PATCH] Further Seed Customisation Allow server admins that really want to to customise the seeds used in world generation even further. diff --git a/src/main/java/net/minecraft/server/ChunkGenerator.java b/src/main/java/net/minecraft/server/ChunkGenerator.java index 957af9b3f..002993b5e 100644 --- a/src/main/java/net/minecraft/server/ChunkGenerator.java +++ b/src/main/java/net/minecraft/server/ChunkGenerator.java @@ -40,4 +40,6 @@ public interface ChunkGenerator { int getSpawnHeight(); int e(); + + World getWorld(); // Spigot } diff --git a/src/main/java/net/minecraft/server/ChunkGeneratorAbstract.java b/src/main/java/net/minecraft/server/ChunkGeneratorAbstract.java index a0362c3f8..79f1a6024 100644 --- a/src/main/java/net/minecraft/server/ChunkGeneratorAbstract.java +++ b/src/main/java/net/minecraft/server/ChunkGeneratorAbstract.java @@ -156,4 +156,11 @@ public abstract class ChunkGeneratorAbstract implem public int e() { return 256; } + + // Spigot start + @Override + public World getWorld() { + return this.a.getMinecraftWorld(); + } + // Spigot end } diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java index 590cd057f..31e066b54 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -252,7 +252,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { } ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition); - boolean flag = SeededRandom.a(chunkcoordintpair.x, chunkcoordintpair.z, generatoraccess.getSeed(), 987234911L).nextInt(10) == 0; + boolean flag = SeededRandom.a(chunkcoordintpair.x, chunkcoordintpair.z, generatoraccess.getSeed(), world.spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot if (this.random.nextInt(10) == 0 && flag && this.locY < 40.0D) { return super.a(generatoraccess); diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureDesertPyramid.java b/src/main/java/net/minecraft/server/WorldGenFeatureDesertPyramid.java index fb5ac05d5..889b2fc66 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureDesertPyramid.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureDesertPyramid.java @@ -18,8 +18,10 @@ public class WorldGenFeatureDesertPyramid extends WorldGenFeatureRandomScattered return new WorldGenFeatureDesertPyramid.a(generatoraccess, seededrandom, i, j, biomebase); } - protected int c() { - return 14357617; + // Spigot start + protected int c(World world) { + return world.spigotConfig.desertSeed; + // Spigot end } public static class a extends StructureStart { diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureIgloo.java b/src/main/java/net/minecraft/server/WorldGenFeatureIgloo.java index e6cc8f011..22c31dcb0 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureIgloo.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureIgloo.java @@ -18,8 +18,10 @@ public class WorldGenFeatureIgloo extends WorldGenFeatureRandomScattered chunkgenerator, SeededRandom seededrandom, int i, int j); - protected abstract int c(); + protected abstract int c(World world); // Spigot } diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureShipwreck.java b/src/main/java/net/minecraft/server/WorldGenFeatureShipwreck.java index a50a45c43..f3b185d58 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureShipwreck.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureShipwreck.java @@ -18,8 +18,10 @@ public class WorldGenFeatureShipwreck extends WorldGenFeatureRandomScattered chunkgenerator) { diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureSwampHut.java b/src/main/java/net/minecraft/server/WorldGenFeatureSwampHut.java index 887293c3c..0f1322590 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureSwampHut.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureSwampHut.java @@ -23,8 +23,10 @@ public class WorldGenFeatureSwampHut extends WorldGenFeatureRandomScattered d() { diff --git a/src/main/java/net/minecraft/server/WorldGenMonument.java b/src/main/java/net/minecraft/server/WorldGenMonument.java index 57afb4809..307da2a6d 100644 --- a/src/main/java/net/minecraft/server/WorldGenMonument.java +++ b/src/main/java/net/minecraft/server/WorldGenMonument.java @@ -23,7 +23,7 @@ public class WorldGenMonument extends StructureGenerator extends InternalChunkGenerator { + private final World world; // Spigot private final ChunkGenerator generator; public NormalChunkGenerator(World world, long seed) { + this.world = world; // Spigot generator = world.worldProvider.getChunkGenerator(); } @@ -111,4 +113,11 @@ public class NormalChunkGenerator extends InternalC public int e() { return generator.e(); // PAIL: Gen depth } + + // Spigot start + @Override + public World getWorld() { + return this.world; + } + // Spigot end } diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java index 96bf3adec..d8d5877a8 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -231,4 +231,27 @@ public class SpigotWorldConfig { witherSpawnSoundRadius = getInt( "wither-spawn-sound-radius", 0 ); } + + public int villageSeed; + public int desertSeed; + public int iglooSeed; + public int jungleSeed; + public int swampSeed; + public int monumentSeed; + public int oceanSeed; + public int shipwreckSeed; + public int slimeSeed; + private void initWorldGenSeeds() + { + villageSeed = getInt( "seed-village", 10387312 ); + desertSeed = getInt( "seed-desert", 14357617 ); + iglooSeed = getInt( "seed-igloo", 14357618 ); + jungleSeed = getInt( "seed-jungle", 14357619 ); + swampSeed = getInt( "seed-swamp", 14357620 ); + monumentSeed = getInt( "seed-monument", 10387313 ); + shipwreckSeed = getInt( "seed-shipwreck", 165745295 ); + oceanSeed = getInt( "seed-ocean", 14357621 ); + slimeSeed = getInt( "seed-slime", 987234911 ); + log( "Custom Map Seeds: Village: " + villageSeed + " Desert: " + desertSeed + " Igloo: " + iglooSeed + " Jungle: " + jungleSeed + " Swamp: " + swampSeed + " Monument: " + monumentSeed + "Ocean: " + oceanSeed + " Shipwreck: " + shipwreckSeed + " Slime: " + slimeSeed ); + } } -- 2.17.1