mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
PaletteHolderLoader
This commit is contained in:
+3
@@ -1,5 +1,7 @@
|
|||||||
package com.dfsek.terra.addons.biome;
|
package com.dfsek.terra.addons.biome;
|
||||||
|
|
||||||
|
import com.dfsek.terra.addons.biome.holder.PaletteHolder;
|
||||||
|
import com.dfsek.terra.addons.biome.holder.PaletteHolderLoader;
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.addon.TerraAddon;
|
import com.dfsek.terra.api.addon.TerraAddon;
|
||||||
import com.dfsek.terra.api.addon.annotations.Addon;
|
import com.dfsek.terra.api.addon.annotations.Addon;
|
||||||
@@ -19,6 +21,7 @@ public class BiomeConfigAddon extends TerraAddon implements EventListener {
|
|||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
main.getEventManager().registerListener(this, this);
|
main.getEventManager().registerListener(this, this);
|
||||||
|
main.applyLoader(PaletteHolder.class, new PaletteHolderLoader());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPackLoad(ConfigPackPreLoadEvent event) {
|
public void onPackLoad(ConfigPackPreLoadEvent event) {
|
||||||
|
|||||||
-1
@@ -14,7 +14,6 @@ public class PaletteHolderBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings({"unchecked", "rawtypes", "RedundantSuppression"})
|
|
||||||
public PaletteHolder build() {
|
public PaletteHolder build() {
|
||||||
|
|
||||||
int min = FastMath.min(paletteMap.keySet().stream().min(Integer::compareTo).orElse(0), 0);
|
int min = FastMath.min(paletteMap.keySet().stream().min(Integer::compareTo).orElse(0), 0);
|
||||||
|
|||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
package com.dfsek.terra.addons.biome.holder;
|
||||||
|
|
||||||
|
import com.dfsek.tectonic.exception.LoadException;
|
||||||
|
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||||
|
import com.dfsek.tectonic.loading.TypeLoader;
|
||||||
|
import com.dfsek.terra.api.world.generator.Palette;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class PaletteHolderLoader implements TypeLoader<PaletteHolder> {
|
||||||
|
@Override
|
||||||
|
public PaletteHolder load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
|
||||||
|
List<Map<String, Integer>> palette = (List<Map<String, Integer>>) o;
|
||||||
|
PaletteHolderBuilder builder = new PaletteHolderBuilder();
|
||||||
|
for(Map<String, Integer> layer : palette) {
|
||||||
|
for(Map.Entry<String, Integer> entry : layer.entrySet()) {
|
||||||
|
builder.add(entry.getValue(), (Palette) configLoader.loadType(Palette.class, entry.getKey()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return builder.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user