Skip to content

Commit ef08a3d

Browse files
authored
Merge pull request #69 from BentoBoxWorld/develop
Release 2.5.0
2 parents 510ca29 + 3c74d3e commit ef08a3d

8 files changed

Lines changed: 1099 additions & 118 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<!-- Do not change unless you want different name for local builds. -->
6666
<build.number>-LOCAL</build.number>
6767
<!-- This allows to change between versions. -->
68-
<build.version>2.4.0</build.version>
68+
<build.version>2.5.0</build.version>
6969

7070
<sonar.projectKey>BentoBoxWorld_Boxed</sonar.projectKey>
7171
<sonar.organization>bentobox-world</sonar.organization>

src/main/java/world/bentobox/boxed/Boxed.java

Lines changed: 33 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,20 @@ public class Boxed extends GameModeAddon {
5858
private static final String SEED = "seed";
5959
private static final String NETHER = "_nether";
6060
private static final String THE_END = "_the_end";
61-
private static final String BASE = "_base";
6261

6362
// Settings
6463
private Settings settings;
65-
private AbstractBoxedChunkGenerator chunkGenerator;
64+
private AbstractBoxedChunkGenerator worldGen;
65+
private BoxedSeedChunkGenerator seedGen;
66+
private AbstractBoxedChunkGenerator netherGen;
67+
private BoxedSeedChunkGenerator netherSeedGen;
68+
69+
6670
private final Config<Settings> configObject = new Config<>(this, Settings.class);
6771
private AdvancementsManager advManager;
68-
private AbstractBoxedChunkGenerator netherChunkGenerator;
6972
private World seedWorld;
7073
private final Map<World, ChunkGenerator> generatorMap = new HashMap<>();
71-
//private World seedWorldEnd;
74+
private final Map<String, ChunkGenerator> generatorMaps = new HashMap<>();
7275
private BiomeProvider boxedBiomeProvider;
7376

7477
@Override
@@ -101,8 +104,21 @@ private boolean loadSettings() {
101104
return false;
102105
}
103106
// Initialize the Generator because createWorlds will be run after onLoad
104-
this.chunkGenerator = new BoxedChunkGenerator(this);
105-
this.netherChunkGenerator = new BoxedChunkGenerator(this);
107+
this.worldGen = new BoxedChunkGenerator(this);
108+
generatorMaps.put(settings.getWorldName(), worldGen);
109+
110+
seedGen = new BoxedSeedChunkGenerator(this, Environment.NORMAL,
111+
new SeedBiomeGenerator(this));
112+
generatorMaps.put(settings.getWorldName() + "/" + SEED, seedGen);
113+
114+
// Nether generators
115+
this.netherGen = new BoxedChunkGenerator(this);
116+
generatorMaps.put(settings.getWorldName() + NETHER, netherGen);
117+
118+
netherSeedGen = new BoxedSeedChunkGenerator(this, Environment.NETHER,
119+
new NetherSeedBiomeGenerator(this));
120+
generatorMaps.put(settings.getWorldName() + "/" + SEED + NETHER, netherSeedGen);
121+
106122
return true;
107123
}
108124

@@ -180,35 +196,18 @@ public void createWorlds() {
180196
private void createNether(String worldName) {
181197
// Create vanilla seed nether world
182198
log("Creating Boxed Seed Nether world ...");
183-
// This creates a vanilla base world with biomes
184-
AbstractBoxedChunkGenerator seedBaseGen = new BoxedSeedChunkGenerator(this, Environment.NETHER);
185-
World baseWorldNether = WorldCreator
186-
.name(worldName + "/" + SEED + NETHER + BASE)
187-
.generator(seedBaseGen)
188-
.environment(Environment.NETHER)
189-
.seed(getSettings().getSeed())
190-
.createWorld();
191-
baseWorldNether.setDifficulty(Difficulty.PEACEFUL);
192-
baseWorldNether.setSpawnLocation(settings.getSeedX(), 64, settings.getSeedZ());
193-
generatorMap.put(baseWorldNether, seedBaseGen);
194-
getPlugin().getIWM().addWorld(baseWorldNether, this);
195-
copyChunks(baseWorldNether, seedBaseGen);
196-
// Create seed world
197-
// This copies a base world with custom biomes
198-
log("Creating Boxed Biomed Nether world ...");
199-
BoxedSeedChunkGenerator seedWorldNetherGenerator = new BoxedSeedChunkGenerator(this, Environment.NETHER, new NetherSeedBiomeGenerator(this, seedBaseGen));
200199
World seedWorldNether = WorldCreator
201200
.name(worldName + "/" + SEED + NETHER)
202-
.generator(seedWorldNetherGenerator)
201+
.generator(netherSeedGen)
203202
.environment(Environment.NETHER)
204203
.seed(getSettings().getSeed())
205204
.createWorld();
206205
seedWorldNether.setDifficulty(Difficulty.EASY);
207206

208207
seedWorldNether.setSpawnLocation(settings.getNetherSeedX(), 64, settings.getNetherSeedZ());
209-
generatorMap.put(seedWorldNether, seedWorldNetherGenerator);
208+
generatorMap.put(seedWorldNether, netherSeedGen);
210209
getPlugin().getIWM().addWorld(seedWorldNether, this);
211-
copyChunks(seedWorldNether, netherChunkGenerator);
210+
copyChunks(seedWorldNether, netherGen);
212211

213212
if (getServer().getWorld(worldName + NETHER) == null) {
214213
log("Creating Boxed's Nether...");
@@ -219,38 +218,19 @@ private void createNether(String worldName) {
219218
private void createOverWorld(String worldName) {
220219
// Create vanilla seed world
221220
log("Creating Boxed Seed world ...");
222-
// This creates a vanilla base world with biomes
223-
AbstractBoxedChunkGenerator seedBaseGen = new BoxedSeedChunkGenerator(this, Environment.NORMAL);
224-
World baseWorld = WorldCreator
225-
.name(worldName + "/" + SEED + BASE)
226-
.generator(seedBaseGen)
227-
.environment(Environment.NORMAL)
228-
.seed(getSettings().getSeed())
229-
.createWorld();
230-
baseWorld.setDifficulty(Difficulty.PEACEFUL);
231-
baseWorld.setSpawnLocation(settings.getSeedX(), 64, settings.getSeedZ());
232-
generatorMap.put(baseWorld, seedBaseGen);
233-
getPlugin().getIWM().addWorld(baseWorld, this);
234-
copyChunks(baseWorld, seedBaseGen);
235-
// Create seed world
236-
// This copies a base world with custom biomes
237-
log("Creating Boxed Biomed world ...");
238-
BoxedSeedChunkGenerator seedWorldGenerator = new BoxedSeedChunkGenerator(this, Environment.NORMAL, new SeedBiomeGenerator(this, seedBaseGen));
239221
seedWorld = WorldCreator
240222
.name(worldName + "/" + SEED)
241-
.generator(seedWorldGenerator)
223+
.generator(seedGen)
242224
.environment(Environment.NORMAL)
243225
.seed(getSettings().getSeed())
244226
.createWorld();
245227
seedWorld.setDifficulty(Difficulty.EASY);
246228

247229
seedWorld.setSpawnLocation(settings.getSeedX(), 64, settings.getSeedZ());
248230

249-
generatorMap.put(seedWorld, seedWorldGenerator);
231+
generatorMap.put(seedWorld, seedGen);
250232
getPlugin().getIWM().addWorld(seedWorld, this);
251-
copyChunks(seedWorld, chunkGenerator);
252-
253-
233+
copyChunks(seedWorld, worldGen);
254234

255235
if (getServer().getWorld(worldName) == null) {
256236
log("Creating Boxed world ...");
@@ -308,7 +288,8 @@ private void copyChunks(World world, AbstractBoxedChunkGenerator gen) {
308288
int p = (int) (count / percent * 100);
309289
if (p % 10 == 0 && p != last) {
310290
last = p;
311-
this.log("Pregenrating seed chunks for " + world.getName() + "'s " + world.getEnvironment() + " " + p + "% done");
291+
this.log("Pregenerating seed chunks for " + world.getName() + "'s " + world.getEnvironment() + " "
292+
+ p + "% done");
312293
}
313294

314295
}
@@ -321,7 +302,7 @@ private void copyChunks(World world, AbstractBoxedChunkGenerator gen) {
321302
* @return the chunkGenerator for the environment
322303
*/
323304
public AbstractBoxedChunkGenerator getChunkGenerator(Environment env) {
324-
return env.equals(Environment.NORMAL) ? chunkGenerator : netherChunkGenerator;
305+
return env.equals(Environment.NORMAL) ? worldGen : netherGen;
325306
}
326307

327308
/**
@@ -386,8 +367,8 @@ public WorldSettings getWorldSettings() {
386367

387368
@Override
388369
public @Nullable ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
389-
for (Entry<World, ChunkGenerator> en : generatorMap.entrySet()) {
390-
if (en.getKey().getName().equalsIgnoreCase(worldName)) {
370+
for (Entry<String, ChunkGenerator> en : generatorMaps.entrySet()) {
371+
if (en.getKey().equalsIgnoreCase(worldName)) {
391372
return en.getValue();
392373
}
393374
}

src/main/java/world/bentobox/boxed/Settings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public class Settings implements WorldSettings {
131131
@ConfigEntry(path = "world.max-areas")
132132
private int maxIslands = -1;
133133

134-
@ConfigComment("Area height - Lowest is 5.")
134+
@ConfigComment("Area height")
135135
@ConfigComment("It is the y coordinate of the bedrock block in the blueprint.")
136136
@ConfigEntry(path = "world.area-height")
137137
private int islandHeight = 8;

0 commit comments

Comments
 (0)