remove usages of TerraWorld#getConfig

This commit is contained in:
dfsek
2021-07-22 13:59:39 -07:00
parent a56d1818c8
commit 8898bbd5c4
17 changed files with 23 additions and 70 deletions

View File

@@ -75,13 +75,12 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator {
@SuppressWarnings({"try"})
public ChunkData generateChunkData(@NotNull World world, Random random, int chunkX, int chunkZ, ChunkData chunk) {
try(ProfileFrame ignore = main.getProfiler().profile("chunk_base_3d")) {
TerraWorld tw = main.getWorld(world);
BiomeProvider grid = world.getBiomeProvider();
int xOrig = (chunkX << 4);
int zOrig = (chunkZ << 4);
Sampler sampler = tw.getConfig().getSamplerCache().getChunk(chunkX, chunkZ);
Sampler sampler = world.getConfig().getSamplerCache().getChunk(chunkX, chunkZ);
long seed = world.getSeed();
@@ -168,10 +167,9 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator {
@Override
public BlockState getBlock(World world, int x, int y, int z) {
TerraWorld terraWorld = main.getWorld(world);
BiomeProvider provider = world.getBiomeProvider();
TerraBiome biome = provider.getBiome(x, z, world.getSeed());
Sampler sampler = terraWorld.getConfig().getSamplerCache().get(x, z);
Sampler sampler = world.getConfig().getSamplerCache().get(x, z);
PaletteInfo paletteInfo = biome.getContext().get(PaletteInfo.class);
Palette palette = PaletteUtil.getPalette(x, y, z, biome.getGenerator(world), sampler, paletteInfo);

View File

@@ -14,6 +14,6 @@ public class BiomeArgumentParser implements ArgumentParser<TerraBiome> {
@Override
public TerraBiome parse(CommandSender sender, String arg) {
Player player = (Player) sender;
return main.getWorld(player.world()).getConfig().getRegistry(TerraBiome.class).get(arg);
return player.world().getConfig().getRegistry(TerraBiome.class).get(arg);
}
}

View File

@@ -17,6 +17,6 @@ public class BiomeTabCompleter implements TabCompleter {
@Override
public List<String> complete(CommandSender sender) {
Player player = (Player) sender;
return main.getWorld(player.world()).getConfig().getRegistry(TerraBiome.class).entries().stream().map(TerraBiome::getID).collect(Collectors.toList());
return player.world().getConfig().getRegistry(TerraBiome.class).entries().stream().map(TerraBiome::getID).collect(Collectors.toList());
}
}

View File

@@ -30,11 +30,9 @@ public class CavePopulator implements TerraGenerationStage, Chunkified {
@SuppressWarnings("try")
@Override
public void populate(@NotNull World world, @NotNull Chunk chunk) {
TerraWorld tw = main.getWorld(world);
WorldHandle handle = main.getWorldHandle();
try(ProfileFrame ignore = main.getProfiler().profile("carving")) {
Random random = PopulationUtil.getRandom(chunk);
WorldConfig config = tw.getConfig();
WorldConfig config = world.getConfig();
if(config.disableCarving()) return;
for(UserDefinedCarver c : config.getRegistry(UserDefinedCarver.class).entries()) {

View File

@@ -22,9 +22,8 @@ public class OrePopulator implements TerraGenerationStage {
@SuppressWarnings("try")
@Override
public void populate(@NotNull World world, @NotNull Chunk chunk) {
TerraWorld tw = main.getWorld(world);
try(ProfileFrame ignore = main.getProfiler().profile("ore")) {
if(tw.getConfig().disableOres()) return;
if(world.getConfig().disableOres()) return;
for(int cx = -1; cx <= 1; cx++) {
for(int cz = -1; cz <= 1; cz++) {

View File

@@ -28,14 +28,13 @@ public class StructurePopulator implements TerraGenerationStage, Chunkified {
@SuppressWarnings("try")
@Override
public void populate(@NotNull World world, @NotNull Chunk chunk) {
TerraWorld tw = main.getWorld(world);
try(ProfileFrame ignore = main.getProfiler().profile("structure")) {
if(tw.getConfig().disableStructures()) return;
if(world.getConfig().disableStructures()) return;
int cx = (chunk.getX() << 4);
int cz = (chunk.getZ() << 4);
BiomeProvider provider = world.getBiomeProvider();
WorldConfig config = tw.getConfig();
WorldConfig config = world.getConfig();
for(ConfiguredStructure conf : config.getRegistry(TerraStructure.class).entries()) {
Vector3 spawn = conf.getSpawn().getNearestSpawn(cx + 8, cz + 8, world.getSeed());

View File

@@ -13,6 +13,6 @@ public class ScriptArgumentParser implements ArgumentParser<Structure> {
@Override
public Structure parse(CommandSender sender, String arg) {
return main.getWorld(((Player) sender).world()).getConfig().getRegistry(Structure.class).get(arg);
return ((Player) sender).world().getConfig().getRegistry(Structure.class).get(arg);
}
}

View File

@@ -13,6 +13,6 @@ public class StructureArgumentParser implements ArgumentParser<ConfiguredStructu
@Override
public ConfiguredStructure parse(CommandSender sender, String arg) {
return main.getWorld(((Player) sender).world()).getConfig().getRegistry(ConfiguredStructure.class).get(arg);
return ((Player) sender).world().getConfig().getRegistry(ConfiguredStructure.class).get(arg);
}
}

View File

@@ -16,6 +16,6 @@ public class ScriptCompleter implements TabCompleter {
@Override
public List<String> complete(CommandSender sender) {
return main.getWorld(((Player) sender).world()).getConfig().getRegistry(Structure.class).entries().stream().map(Structure::getId).collect(Collectors.toList());
return ((Player) sender).world().getConfig().getRegistry(Structure.class).entries().stream().map(Structure::getId).collect(Collectors.toList());
}
}

View File

@@ -17,6 +17,6 @@ public class StructureCompleter implements TabCompleter {
@Override
public List<String> complete(CommandSender sender) {
Player player = (Player) sender;
return new ArrayList<>(main.getWorld(player.world()).getConfig().getRegistry(ConfiguredStructure.class).keys());
return new ArrayList<>(player.world().getConfig().getRegistry(ConfiguredStructure.class).keys());
}
}

View File

@@ -29,9 +29,8 @@ public class FloraGenerationStage implements TerraGenerationStage {
@SuppressWarnings("try")
@Override
public void populate(@NotNull World world, @NotNull Chunk chunk) {
TerraWorld tw = main.getWorld(world);
try(ProfileFrame ignore = main.getProfiler().profile("flora")) {
if(tw.getConfig().disableFlora()) return;
if(world.getConfig().disableFlora()) return;
long seed = world.getSeed();
BiomeProvider provider = world.getBiomeProvider();

View File

@@ -50,8 +50,7 @@ public class CheckFunction implements Function<String> {
private String apply(Vector3 vector, World world) {
int y = vector.getBlockY();
if(y >= world.getMaxHeight() || y < 0) return "AIR";
TerraWorld tw = main.getWorld(world);
SamplerCache cache = tw.getConfig().getSamplerCache();
SamplerCache cache = world.getConfig().getSamplerCache();
double comp = sample(vector.getBlockX(), vector.getBlockY(), vector.getBlockZ(), cache);
if(comp > 0) return "LAND"; // If noise val is greater than zero, location will always be land.

View File

@@ -1,32 +0,0 @@
package com.dfsek.terra.api.event.events.world;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.api.world.TerraWorld;
/**
* Called upon initialization of a TerraWorld.
*/
public class TerraWorldLoadEvent implements PackEvent {
private final TerraWorld world;
private final ConfigPack pack;
public TerraWorldLoadEvent(TerraWorld world, ConfigPack pack) {
this.world = world;
this.pack = pack;
}
public TerraWorld getWorld() {
return world;
}
public ConfigPack getPack() {
return pack;
}
public WorldConfig getWorldConfig() {
return world.getConfig();
}
}

View File

@@ -3,11 +3,9 @@ package com.dfsek.terra.world;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.world.TerraWorldLoadEvent;
import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.config.pack.WorldConfigImpl;
public class TerraWorldImpl implements TerraWorld {
@@ -18,7 +16,6 @@ public class TerraWorldImpl implements TerraWorld {
if(!w.isTerraWorld()) throw new IllegalArgumentException("World " + w + " is not a Terra World!");
this.world = w;
config = (WorldConfigImpl) c.toWorldConfig(w);
main.getEventManager().callEvent(new TerraWorldLoadEvent(this, c));
}

View File

@@ -100,8 +100,8 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
boolean succeed = registry.loadAll(this);
Map<World, TerraWorld> newMap = new HashMap<>();
worldMap.forEach((world, tw) -> {
tw.getConfig().getSamplerCache().clear();
String packID = tw.getConfig().getID();
world.getConfig().getSamplerCache().clear();
String packID = world.getConfig().getID();
newMap.put(world, new TerraWorldImpl(world, registry.get(packID), this));
});
worldMap.clear();

View File

@@ -43,8 +43,7 @@ public class CommonListener implements Listener {
if(e.isCancelled()) return;
World bukkit = BukkitAdapter.adapt(e.getWorld());
if(!bukkit.isTerraWorld()) return;
TerraWorld tw = main.getWorld(bukkit);
WorldConfig c = tw.getConfig();
WorldConfig c = bukkit.getConfig();
if(c.isDisableSaplings()) return;
e.setCancelled(true);
Block block = e.getLocation().getBlock();

View File

@@ -83,7 +83,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
public static final ConfiguredFeature<?, ?> POPULATOR_CONFIGURED_FEATURE = POPULATOR_FEATURE.configure(FeatureConfig.DEFAULT).decorate(Decorator.NOPE.configure(NopeDecoratorConfig.INSTANCE));
private static TerraFabricPlugin instance;
private final org.apache.logging.log4j.Logger log4jLogger = LogManager.getLogger();
private final Map<DimensionType, Pair<ServerWorld, TerraWorld>> worldMap = new HashMap<>();
private final Map<DimensionType, ServerWorld> worldMap = new HashMap<>();
private final EventManager eventManager = new EventManagerImpl(this);
private final GenericLoaders genericLoaders = new GenericLoaders(this);
private final Profiler profiler = new ProfilerImpl();
@@ -119,7 +119,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
return instance;
}
public Map<DimensionType, Pair<ServerWorld, TerraWorld>> getWorldMap() {
public Map<DimensionType, ServerWorld> getWorldMap() {
return worldMap;
}
@@ -144,9 +144,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
}
public TerraWorld getWorld(DimensionType type) {
TerraWorld world = worldMap.get(type).getRight();
if(world == null) throw new IllegalArgumentException("No world exists with dimension type " + type);
return world;
throw new IllegalArgumentException("No world exists with dimension type " + type);
}
@Override
@@ -188,10 +186,9 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
config.load(this);
LangUtil.load(config.getLanguage(), this); // Load language.
boolean succeed = configRegistry.loadAll(this);
worldMap.forEach((seed, pair) -> {
pair.getRight().getConfig().getSamplerCache().clear();
String packID = pair.getRight().getConfig().getID();
pair.setRight(new TerraWorldImpl(pair.getRight().getWorld(), configRegistry.get(packID), this));
worldMap.forEach((seed, world) -> {
if(!(world instanceof World)) return;
((World) world).getConfig().getSamplerCache().clear();
});
return succeed;
}