9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-27 11:09:06 +00:00

Revert "Graphs & streams "

This reverts commit 66a717b927.
This commit is contained in:
cyberpwn
2021-10-26 19:02:57 -04:00
parent 66a717b927
commit 4d64ad8bb8
7 changed files with 44 additions and 110 deletions

View File

@@ -29,7 +29,6 @@ import com.volmit.iris.util.function.Function3;
import com.volmit.iris.util.function.Function4;
import com.volmit.iris.util.hunk.Hunk;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.reflect.V;
import com.volmit.iris.util.stream.arithmetic.AddingStream;
import com.volmit.iris.util.stream.arithmetic.ClampedStream;
import com.volmit.iris.util.stream.arithmetic.CoordinateBitShiftLeftStream;
@@ -64,10 +63,8 @@ import com.volmit.iris.util.stream.utility.ProfiledStream;
import com.volmit.iris.util.stream.utility.SemaphoreStream;
import com.volmit.iris.util.stream.utility.SynchronizedStream;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
@SuppressWarnings("ALL")
public interface ProceduralStream<T> extends ProceduralLayer, Interpolated<T> {
@@ -366,16 +363,32 @@ public interface ProceduralStream<T> extends ProceduralLayer, Interpolated<T> {
return new SelectionStream<V>(this, rarityTypes);
}
default <V extends IRare> ProceduralStream<V> selectRarity(List<V> types) {
return IRare.stream(this.forceDouble(), types);
default <V> ProceduralStream<V> selectRarity(List<V> types) {
KList<V> rarityTypes = new KList<>();
int totalRarity = 0;
for (V i : types) {
totalRarity += IRare.get(i);
}
for (V i : types) {
rarityTypes.addMultiple(i, totalRarity / IRare.get(i));
}
return new SelectionStream<V>(this, rarityTypes);
}
default <V> ProceduralStream<IRare> selectRarity(List<V> types, Function<V, IRare> loader) {
List<IRare> r = new ArrayList<>();
for(V f : types) {
r.add(loader.apply(f));
default <V> ProceduralStream<V> selectRarity(List<V> types, Function<V, IRare> loader) {
KList<V> rarityTypes = new KList<>();
int totalRarity = 0;
for (V i : types) {
totalRarity += IRare.get(loader.apply(i));
}
return selectRarity(r);
for (V i : types) {
rarityTypes.addMultiple(i, totalRarity / IRare.get(loader.apply(i)));
}
return new SelectionStream<V>(this, rarityTypes);
}
default <V> int countPossibilities(List<V> types, Function<V, IRare> loader) {