mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-04 00:45:57 +00:00
add slant singleton
This commit is contained in:
parent
eaebc445f6
commit
c4c71ac9ef
@ -79,6 +79,6 @@ public class BiomePaletteTemplate implements ObjectTemplate<PaletteInfo> {
|
|||||||
slantLayers.put(threshold, layer.getPalette());
|
slantLayers.put(threshold, layer.getPalette());
|
||||||
}
|
}
|
||||||
|
|
||||||
return new PaletteInfo(builder.build(), new SlantHolder(slantLayers, minThreshold), oceanPalette, seaLevel, slantDepth);
|
return new PaletteInfo(builder.build(), SlantHolder.of(slantLayers, minThreshold), oceanPalette, seaLevel, slantDepth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
package com.dfsek.terra.addons.chunkgenerator.palette;
|
package com.dfsek.terra.addons.chunkgenerator.palette;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Map.Entry;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
|
|
||||||
@ -15,11 +16,19 @@ public class SlantHolder {
|
|||||||
private final TreeMap<Double, PaletteHolder> layers;
|
private final TreeMap<Double, PaletteHolder> layers;
|
||||||
private final double minSlope;
|
private final double minSlope;
|
||||||
|
|
||||||
public SlantHolder(TreeMap<Double, PaletteHolder> layers, double minSlope) {
|
private SlantHolder(TreeMap<Double, PaletteHolder> layers, double minSlope) {
|
||||||
this.layers = layers;
|
this.layers = layers;
|
||||||
this.minSlope = minSlope;
|
this.minSlope = minSlope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SlantHolder of(TreeMap<Double, PaletteHolder> layers, double minSlope) {
|
||||||
|
if(layers.size() == 1){
|
||||||
|
Entry<Double, PaletteHolder> firstEntry = layers.firstEntry();
|
||||||
|
return new Single(firstEntry.getValue(), minSlope);
|
||||||
|
}
|
||||||
|
return new SlantHolder(layers, minSlope);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isEmpty() {
|
public boolean isEmpty() {
|
||||||
return layers.isEmpty();
|
return layers.isEmpty();
|
||||||
}
|
}
|
||||||
@ -31,4 +40,25 @@ public class SlantHolder {
|
|||||||
public double getMinSlope() {
|
public double getMinSlope() {
|
||||||
return minSlope;
|
return minSlope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final class Single extends SlantHolder {
|
||||||
|
|
||||||
|
private final PaletteHolder layers;
|
||||||
|
|
||||||
|
public Single(PaletteHolder layers, double minSlope) {
|
||||||
|
super(of(minSlope, layers), minSlope);
|
||||||
|
this.layers = layers;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static TreeMap<Double, PaletteHolder> of(double v, PaletteHolder layer) {
|
||||||
|
TreeMap<Double, PaletteHolder> map = new TreeMap<>();
|
||||||
|
map.put(v, layer);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PaletteHolder getPalette(double slope) {
|
||||||
|
return layers;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user