mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-09 09:16:34 +00:00
That's quite the commit you got there
This commit is contained in:
@@ -2,14 +2,16 @@ package com.dfsek.terra;
|
||||
|
||||
import com.dfsek.terra.biome.BiomeZone;
|
||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||
import com.dfsek.terra.biome.grid.SingleBiomeGrid;
|
||||
import com.dfsek.terra.biome.grid.TerraBiomeGrid;
|
||||
import com.dfsek.terra.biome.grid.UserDefinedGrid;
|
||||
import com.dfsek.terra.config.base.ConfigPack;
|
||||
import com.dfsek.terra.config.base.ConfigPackTemplate;
|
||||
import com.dfsek.terra.config.base.WorldConfig;
|
||||
import com.dfsek.terra.config.genconfig.BiomeGridConfig;
|
||||
import com.dfsek.terra.config.builder.BiomeGridBuilder;
|
||||
import com.dfsek.terra.generation.TerraChunkGenerator;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.polydev.gaea.biome.BiomeGrid;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -28,20 +30,22 @@ public class TerraWorld {
|
||||
safe = true;
|
||||
worldConfig = loaded.get(w.getName());
|
||||
config = worldConfig.getConfig();
|
||||
UserDefinedGrid[] definedGrids = new UserDefinedGrid[config.biomeList.size()];
|
||||
for(int i = 0; i < config.biomeList.size(); i++) {
|
||||
String partName = config.biomeList.get(i);
|
||||
|
||||
ConfigPackTemplate template = config.getTemplate();
|
||||
|
||||
int zoneSize = template.getGrids().size();
|
||||
|
||||
BiomeGrid[] definedGrids = new BiomeGrid[zoneSize];
|
||||
for(int i = 0; i < zoneSize; i++) {
|
||||
String partName = template.getGrids().get(i);
|
||||
try {
|
||||
if(partName.startsWith("BIOME:")) {
|
||||
UserDefinedBiome[][] temp = new UserDefinedBiome[1][1];
|
||||
UserDefinedBiome b = config.getBiomes().get(partName.substring(6)).getBiome();
|
||||
temp[0][0] = b;
|
||||
definedGrids[i] = new UserDefinedGrid(w, config.freq1, config.freq2, temp, worldConfig);
|
||||
UserDefinedBiome b = config.getBiome(partName.substring(6));
|
||||
definedGrids[i] = new SingleBiomeGrid(w, b);
|
||||
Debug.info("Loaded single-biome grid " + partName);
|
||||
} else {
|
||||
BiomeGridConfig g = config.getBiomeGrid(partName);
|
||||
Debug.info("Loaded BiomeGrid " + g.getID());
|
||||
definedGrids[i] = g.getGrid(w, worldConfig);
|
||||
BiomeGridBuilder g = config.getBiomeGrid(partName);
|
||||
definedGrids[i] = g.build(w);
|
||||
}
|
||||
} catch(NullPointerException e) {
|
||||
safe = false;
|
||||
@@ -52,31 +56,29 @@ public class TerraWorld {
|
||||
Bukkit.getLogger().severe("Terrain will NOT generate properly at this point. Correct your config before using your server!");
|
||||
}
|
||||
}
|
||||
UserDefinedGrid erosion = null;
|
||||
if(config.erosionEnable) {
|
||||
BiomeGrid erosion = null;
|
||||
String erosionName = template.getErodeGrid();
|
||||
if(template.isErode()) {
|
||||
try {
|
||||
if(config.erosionName.startsWith("BIOME:")) {
|
||||
UserDefinedBiome[][] temp = new UserDefinedBiome[1][1];
|
||||
UserDefinedBiome b = Objects.requireNonNull(config.getBiome(config.erosionName.substring(6)).getBiome());
|
||||
temp[0][0] = b;
|
||||
erosion = new UserDefinedGrid(w, config.freq1, config.freq2, temp, worldConfig);
|
||||
Debug.info("Loaded single-biome erosion grid " + config.erosionName);
|
||||
if(erosionName.startsWith("BIOME:")) {
|
||||
UserDefinedBiome b = Objects.requireNonNull(config.getBiome(erosionName.substring(6)));
|
||||
erosion = new SingleBiomeGrid(w, b);
|
||||
Debug.info("Loaded single-biome erosion grid " + erosionName);
|
||||
} else {
|
||||
BiomeGridConfig g = Objects.requireNonNull(config.getBiomeGrid(config.erosionName));
|
||||
Debug.info("Loaded BiomeGrid " + g.getID());
|
||||
erosion = g.getGrid(w, worldConfig);
|
||||
BiomeGridBuilder g = Objects.requireNonNull(config.getBiomeGrid(erosionName));
|
||||
erosion = g.build(w);
|
||||
}
|
||||
} catch(NullPointerException e) {
|
||||
safe = false;
|
||||
Debug.stack(e);
|
||||
Bukkit.getLogger().severe("No such BiomeGrid (erosion): " + config.erosionName);
|
||||
Bukkit.getLogger().severe("No such BiomeGrid (erosion): " + erosionName);
|
||||
Bukkit.getLogger().severe("Please check configuration files for errors. Configuration errors will have been reported during initialization.");
|
||||
Bukkit.getLogger().severe("ONLY report this to Terra if you are SURE your config is error-free.");
|
||||
Bukkit.getLogger().severe("Terrain will NOT generate properly at this point. Correct your config before using your server!");
|
||||
}
|
||||
}
|
||||
zone = new BiomeZone(w, worldConfig, definedGrids);
|
||||
grid = new TerraBiomeGrid(w, config.freq1, config.freq2, zone, config, erosion);
|
||||
grid = new TerraBiomeGrid(w, template.getGridFreqX(), template.getGridFreqZ(), zone, config, erosion);
|
||||
}
|
||||
|
||||
public static void loadWorld(WorldConfig w) {
|
||||
|
||||
Reference in New Issue
Block a user