This commit is contained in:
dfsek
2021-06-14 19:20:00 -07:00
parent 2010c48664
commit beb07337ae
5 changed files with 10 additions and 7 deletions

View File

@@ -49,7 +49,10 @@ public class ProbabilityCollection<E> implements Collection<E> {
public <T> ProbabilityCollection<T> map(Function<E, T> mapper, boolean carryNull) {
ProbabilityCollection<T> newCollection = new ProbabilityCollection<>();
cont.forEach((o, count) -> newCollection.add(mapper.apply(o), count.get()));
cont.forEach((o, count) -> {
if(o != null) newCollection.add(mapper.apply(o), count.get());
else if(carryNull) newCollection.add(null, count.get());
});
return newCollection;
}

View File

@@ -30,8 +30,8 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate {
public BiomeMutator build(long seed) {
Map<TerraBiome, ProbabilityCollection<TerraBiome>> replaceMap = new HashMap<>();
replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.apply(seed), replacements.map(replacement -> replacement.get().apply(seed), true)));
replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.apply(seed), replacements.map(MetaValue::get).map(replacement -> replacement.apply(seed))));
return new BorderListMutator(replaceMap, from.get(), defaultReplace.get(), noise.get().apply(seed), defaultTo.map(biomeBuilder -> biomeBuilder.get().apply(seed), true));
return new BorderListMutator(replaceMap, from.get(), defaultReplace.get(), noise.get().apply(seed), defaultTo.map(MetaValue::get).map(biomeBuilder -> biomeBuilder.apply(seed)));
}
}

View File

@@ -20,6 +20,6 @@ public class BorderMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator build(long seed) {
return new BorderMutator(from.get(), replace.get(), noise.get().apply(seed), to.map(biomeBuilder -> biomeBuilder.get().apply(seed), true));
return new BorderMutator(from.get(), replace.get(), noise.get().apply(seed), to.map(MetaValue::get).map(biomeBuilder -> biomeBuilder.apply(seed)));
}
}

View File

@@ -26,8 +26,8 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate {
public BiomeMutator build(long seed) {
Map<TerraBiome, ProbabilityCollection<TerraBiome>> replaceMap = new HashMap<>();
replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.apply(seed), biomeBuilders.map(builder -> builder.get().apply(seed), true)));
replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.apply(seed), biomeBuilders.map(MetaValue::get).map(builder -> builder.apply(seed))));
return new ReplaceListMutator(replaceMap, defaultFrom.get(), defaultTo.map(biomeBuilder -> biomeBuilder.get().apply(seed), true), noise.get().apply(seed));
return new ReplaceListMutator(replaceMap, defaultFrom.get(), defaultTo.map(MetaValue::get).map(biomeBuilder -> biomeBuilder.apply(seed)), noise.get().apply(seed));
}
}

View File

@@ -17,6 +17,6 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator build(long seed) {
return new ReplaceMutator(from.get(), to.map(biomeBuilder -> biomeBuilder.get().apply(seed), true), noise.get().apply(seed));
return new ReplaceMutator(from.get(), to.map(MetaValue::get).map(biomeBuilder -> biomeBuilder.apply(seed)), noise.get().apply(seed));
}
}