mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-04 23:06:05 +00:00
fix MaterialSet issues
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
package com.dfsek.terra.api.util.collections;
|
||||
|
||||
import com.dfsek.terra.api.block.state.BlockState;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.api.util.MaterialSet;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class MaterialSetImpl extends HashSet<BlockType> implements MaterialSet {
|
||||
private static final long serialVersionUID = 3056512763631017301L;
|
||||
|
||||
public static MaterialSetImpl singleton(BlockType material) {
|
||||
MaterialSetImpl set = new MaterialSetImpl();
|
||||
set.add(material);
|
||||
return set;
|
||||
}
|
||||
|
||||
public static MaterialSetImpl get(BlockType... materials) {
|
||||
MaterialSetImpl set = new MaterialSetImpl();
|
||||
set.addAll(Arrays.asList(materials));
|
||||
return set;
|
||||
}
|
||||
|
||||
public static MaterialSetImpl get(BlockState... materials) {
|
||||
MaterialSetImpl set = new MaterialSetImpl();
|
||||
Arrays.stream(materials).forEach(set::add);
|
||||
return set;
|
||||
}
|
||||
|
||||
public static MaterialSetImpl empty() {
|
||||
return new MaterialSetImpl();
|
||||
}
|
||||
|
||||
private void add(BlockState data) {
|
||||
add(data.getBlockType());
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,9 @@ import com.dfsek.terra.api.TerraPlugin;
|
||||
import com.dfsek.terra.api.addon.TerraAddon;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
|
||||
import com.dfsek.terra.api.util.MaterialSet;
|
||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||
import com.dfsek.terra.api.util.Range;
|
||||
import com.dfsek.terra.api.util.collections.MaterialSetImpl;
|
||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||
import com.dfsek.terra.config.loaders.LinkedHashMapLoader;
|
||||
import com.dfsek.terra.config.loaders.MaterialSetLoader;
|
||||
@@ -27,7 +27,7 @@ public class GenericLoaders implements LoaderRegistrar {
|
||||
public void register(TypeRegistry registry) {
|
||||
registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader())
|
||||
.registerLoader(Range.class, new RangeLoader())
|
||||
.registerLoader(MaterialSetImpl.class, new MaterialSetLoader())
|
||||
.registerLoader(MaterialSet.class, new MaterialSetLoader())
|
||||
.registerLoader(LinkedHashMap.class, new LinkedHashMapLoader())
|
||||
.registerLoader(BiomeSource.Type.class, (t, object, cf) -> BiomeSource.Type.valueOf((String) object));
|
||||
|
||||
|
||||
@@ -4,17 +4,17 @@ import com.dfsek.tectonic.exception.LoadException;
|
||||
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||
import com.dfsek.tectonic.loading.TypeLoader;
|
||||
import com.dfsek.terra.api.block.BlockType;
|
||||
import com.dfsek.terra.api.util.collections.MaterialSetImpl;
|
||||
import com.dfsek.terra.api.util.MaterialSet;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class MaterialSetLoader implements TypeLoader<MaterialSetImpl> {
|
||||
public class MaterialSetLoader implements TypeLoader<MaterialSet> {
|
||||
@Override
|
||||
public MaterialSetImpl load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
|
||||
public MaterialSet load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
|
||||
List<String> stringData = (List<String>) o;
|
||||
MaterialSetImpl set = new MaterialSetImpl();
|
||||
MaterialSet set = new MaterialSet();
|
||||
|
||||
for(String string : stringData) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user