BiomePatternGeneratorSizeModifierProvider class
Пакет: com.hypixel.hytale.server.worldgen.loader.biome
Файл: com/hypixel/hytale/server/worldgen/loader/biome/BiomePatternGeneratorJsonLoader.java
implements: BiomePatternGeneratorJsonLoader.ISizeModifierProvider
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private BiomePatternGenerator |
generator |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public double |
getpublic double get(int var1, int var2, int var3) |
|
public BiomePatternGenerator |
getGeneratorpublic BiomePatternGenerator getGenerator() |
|
public void |
setGeneratorpublic void setGenerator(BiomePatternGenerator var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.biome;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.PointGeneratorJsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.PointDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.IPointGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.biome.BiomePatternGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.biome.CustomBiome;
class="kw">import com.hypixel.hytale.server.worldgen.biome.TileBiome;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class BiomePatternGeneratorJsonLoader class="kw">extends JsonLoader<SeedStringResource, BiomePatternGenerator> {
class="kw">protected class="kw">final IWeightedMap<TileBiome> tileBiomes;
class="kw">protected class="kw">final CustomBiome[] customBiomes;
class="kw">public BiomePatternGeneratorJsonLoader(
@Nonnull SeedString<SeedStringResource> var1, Path var2, JsonElement var3, IWeightedMap<TileBiome> var4, CustomBiome[] var5
) {
super(var1.append(".BiomePatternGenerator"), var2, var3);
this.tileBiomes = var4;
this.customBiomes = var5;
}
@Nonnull
class="kw">public BiomePatternGenerator load() {
BiomePatternGeneratorJsonLoader.BiomePatternGeneratorSizeModifierProvider var1 = new BiomePatternGeneratorJsonLoader.BiomePatternGeneratorSizeModifierProvider();
BiomePatternGenerator var2 = new BiomePatternGenerator(this.loadPointGenerator(var1), this.tileBiomes, this.customBiomes);
var1.setGenerator(var2);
class="kw">return var2;
}
@Nullable
class="kw">protected IPointGenerator loadPointGenerator(class="kw">final BiomePatternGeneratorJsonLoader.ISizeModifierProvider var1) {
class="kw">return (new PointGeneratorJsonLoader<SeedStringResource>(this.seed, this.dataFolder, this.get("GridGenerator")) {
@Nonnull
@Override
class="kw">protected PointDistanceFunction loadPointDistanceFunction() {
PointDistanceFunction var1x = super.loadPointDistanceFunction();
class="kw">return new BiomePatternGeneratorJsonLoader.LoadedPointGeneratorDistanceFunction(var1, var1x);
}
}).load();
}
class="kw">protected class="kw">static class BiomePatternGeneratorSizeModifierProvider class="kw">implements BiomePatternGeneratorJsonLoader.ISizeModifierProvider {
class="kw">private BiomePatternGenerator generator;
class="kw">public BiomePatternGeneratorSizeModifierProvider() {
}
class="kw">public BiomePatternGeneratorSizeModifierProvider(BiomePatternGenerator var1) {
this.generator = var1;
}
class="kw">public BiomePatternGenerator getGenerator() {
class="kw">return this.generator;
}
class="kw">public void setGenerator(BiomePatternGenerator var1) {
this.generator = var1;
}
@Override
class="kw">public double get(int var1, int var2, int var3) {
class="kw">return this.generator.getBiomeDirect(var1, var2, var3).getSizeModifier();
}
}
class="kw">public class="kw">interface Constants {
String KEY_GRID_GENERATOR = "GridGenerator";
}
class="kw">public class="kw">interface ISizeModifierProvider {
double get(int var1, int var2, int var3);
}
class="kw">private class="kw">static class LoadedPointGeneratorDistanceFunction class="kw">implements PointDistanceFunction {
class="kw">private class="kw">final BiomePatternGeneratorJsonLoader.ISizeModifierProvider sizeModifierProvider;
class="kw">private class="kw">final PointDistanceFunction distanceFunction;
class="kw">public LoadedPointGeneratorDistanceFunction(BiomePatternGeneratorJsonLoader.ISizeModifierProvider var1, PointDistanceFunction var2) {
this.sizeModifierProvider = var1;
this.distanceFunction = var2;
}
@Override
class="kw">public double distance2D(double var1, double var3) {
class="kw">return this.distanceFunction.distance2D(var1, var3);
}
@Override
class="kw">public double distance3D(double var1, double var3, double var5) {
class="kw">return this.distanceFunction.distance3D(var1, var3, var5);
}
@Override
class="kw">public double distance2D(int var1, int var2, int var3, double var4, double var6, double var8, double var10) {
class="kw">return this.distanceFunction.distance2D(var1, var2, var3, var4, var6, var8, var10) * this.sizeModifierProvider.get(var1, var2, var3);
}
@Override
class="kw">public double distance3D(int var1, int var2, int var3, int var4, double var5, double var7, double var9, double var11, double var13, double var15) {
class="kw">return this.distanceFunction.distance3D(var1, var2, var3, var4, var5, var7, var9, var11, var13, var15);
}
}
}