Advertisement
Guest User

Untitled

a guest
Nov 30th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.46 KB | None | 0 0
  1.  
  2. import net.minecraft.world.gen.ChunkProviderSettings;
  3.  
  4. import cubicchunks.worldgen.generator.config.JsonConfig;
  5. import cubicchunks.worldgen.generator.config.JsonConfigInitializer;
  6. import cubicchunks.worldgen.generator.config.Value;
  7.  
  8. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_DEPTH_NOISE_FACTOR;
  9. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_DEPTH_NOISE_FREQUENCY;
  10. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_LOWHIGH_NOISE_FREQUENCY;
  11. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_SELECTOR_NOISE_FACTOR;
  12. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_SELECTOR_NOISE_FREQUENCY_XZ;
  13. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_SELECTOR_NOISE_FREQUENCY_Y;
  14. import static cubicchunks.worldgen.generator.custom.ConversionUtils.VANILLA_SELECTOR_NOISE_OFFSET;
  15. import static cubicchunks.worldgen.generator.custom.ConversionUtils.frequencyFromVanilla;
  16.  
  17. @JsonConfig
  18. public class CustomGeneratorSettings {
  19.     @Value(floatValue = 1) public float heightVariationFactor;
  20.     @Value(floatValue = 0) public float heightVariationOffset;
  21.     @Value(floatValue = 1) public float heightFactor;
  22.     @Value(floatValue = 0) public float heightOffset;
  23.  
  24.     @Value(floatValue = VANILLA_DEPTH_NOISE_FACTOR) public float depthNoiseFactor;
  25.     @Value(floatValue = 0) public float depthNoiseOffset;
  26.     @Value(floatValue = VANILLA_DEPTH_NOISE_FREQUENCY) public float depthNoiseFrequencyX;
  27.     @Value(floatValue = VANILLA_DEPTH_NOISE_FREQUENCY) public float depthNoiseFrequencyZ;
  28.     @Value(intValue = 16) public int depthNoiseOctaves;
  29.  
  30.     @Value(floatValue = VANILLA_SELECTOR_NOISE_FACTOR) public float selectorNoiseFactor;
  31.     @Value(floatValue = VANILLA_SELECTOR_NOISE_OFFSET) public float selectorNoiseOffset;
  32.     @Value(floatValue = VANILLA_SELECTOR_NOISE_FREQUENCY_XZ) public float selectorNoiseFrequencyX;
  33.     @Value(floatValue = VANILLA_SELECTOR_NOISE_FREQUENCY_Y) public float selectorNoiseFrequencyY;
  34.     @Value(floatValue = VANILLA_SELECTOR_NOISE_FREQUENCY_XZ) public float selectorNoiseFrequencyZ;
  35.     @Value(intValue = 8) public int selectorNoiseOctaves;
  36.  
  37.     @Value(floatValue = 1) public float lowNoiseFactor;
  38.     @Value(floatValue = 0) public float lowNoiseOffset;
  39.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float lowNoiseFrequencyX;
  40.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float lowNoiseFrequencyY;
  41.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float lowNoiseFrequencyZ;
  42.     @Value(intValue = 16) public int lowNoiseOctaves;
  43.  
  44.     @Value(floatValue = 1) public float highNoiseFactor;
  45.     @Value(floatValue = 0) public float highNoiseOffset;
  46.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float highNoiseFrequencyX;
  47.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float highNoiseFrequencyY;
  48.     @Value(floatValue = VANILLA_LOWHIGH_NOISE_FREQUENCY) public float highNoiseFrequencyZ;
  49.     @Value(intValue = 16) public int highNoiseOctaves;
  50.  
  51.     public CustomGeneratorSettings() {
  52.     }
  53.  
  54.     public static CustomGeneratorSettings defaults() {
  55.         return new JsonConfigInitializer<>(CustomGeneratorSettings.class).defaults().build();
  56.     }
  57.  
  58.     public static CustomGeneratorSettings fromVanilla(ChunkProviderSettings settings) {
  59.         CustomGeneratorSettings obj = defaults();
  60.  
  61.         obj.lowNoiseFactor = 512.0f/settings.lowerLimitScale;
  62.         obj.highNoiseFactor = 512.0f/settings.upperLimitScale;
  63.  
  64.         obj.depthNoiseFrequencyX = frequencyFromVanilla(settings.depthNoiseScaleX, 16);
  65.         obj.depthNoiseFrequencyZ = frequencyFromVanilla(settings.depthNoiseScaleZ, 16);
  66.         // settings.depthNoiseScaleExponent is ignored by vanilla
  67.  
  68.         obj.selectorNoiseFrequencyX = frequencyFromVanilla(settings.coordinateScale/settings.mainNoiseScaleX, 8);
  69.         obj.selectorNoiseFrequencyY = frequencyFromVanilla(settings.heightScale/settings.mainNoiseScaleY, 8);
  70.         obj.selectorNoiseFrequencyZ = frequencyFromVanilla(settings.coordinateScale/settings.mainNoiseScaleZ, 8);
  71.  
  72.         obj.lowNoiseFrequencyX = frequencyFromVanilla(settings.coordinateScale, 16);
  73.         obj.lowNoiseFrequencyY = frequencyFromVanilla(settings.heightScale, 16);
  74.         obj.lowNoiseFrequencyZ = frequencyFromVanilla(settings.coordinateScale, 16);
  75.  
  76.         obj.highNoiseFrequencyX = frequencyFromVanilla(settings.coordinateScale, 16);
  77.         obj.highNoiseFrequencyY = frequencyFromVanilla(settings.heightScale, 16);
  78.         obj.highNoiseFrequencyZ = frequencyFromVanilla(settings.coordinateScale, 16);
  79.  
  80.         return obj;
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement