Prevent duplicate features

This commit is contained in:
paulevsGitch 2021-12-08 17:56:43 +03:00
parent 77cc26d548
commit 8c7a11ee04

View file

@ -732,10 +732,20 @@ public class BiomeAPI {
private static void sortFeatures(List<Supplier<PlacedFeature>> features) {
initFeatureOrder();
Set<PlacedFeature> featuresWithoutDuplicates = Sets.newHashSet();
features.forEach(provider -> featuresWithoutDuplicates.add(provider.get()));
if (featuresWithoutDuplicates.size() != features.size()) {
features.clear();
featuresWithoutDuplicates.forEach(feature -> features.add(() -> feature));
}
features.forEach(provider -> {
PlacedFeature feature = provider.get();
FEATURE_ORDER.computeIfAbsent(feature, f -> FEATURE_ORDER_ID.getAndIncrement());
});
features.sort((f1, f2) -> {
int v1 = FEATURE_ORDER.getOrDefault(f1.get(), 70000);
int v2 = FEATURE_ORDER.getOrDefault(f2.get(), 70000);