Posted May 18, 20214 yr As the title suggests, I can modify vanilla biome, more precisely, I cannot remove any feature. The one below is currently my BiomeLoadingEvent in which I am trying to remove all OreFetures from all overworld vanilla biomes. I've tried a lot of manual iterating, removeIf, but all of them return false when checking for the correct feature. @SubscribeEvent public static void biomeLoadingRemove(BiomeLoadingEvent event) { Category category = event.getCategory(); BiomeGenerationSettingsBuilder genBuilder = event.getGeneration(); if (category == Category.THEEND) { } else if (category == Category.NETHER) { } else { for (Decoration stage : GenerationStage.Decoration.values()) { genBuilder.getFeatures(stage).removeIf((supplier) -> { ConfiguredFeature<?, ?> configuredFeature = supplier.get(); return configuredFeature.feature() instanceof OreFeature; }); } } } am I doing something wrong, and if so, what? thanks for replies
May 18, 20214 yr Author 18 minutes ago, diesieben07 said: The ConfiguredFeature will most likely contain a DecoratedFeature (which is a feature + its placement). You should use ConfiguredFeature#getFeatures, which will return a stream of all features in the chain. thanks, I changed my event like this and it works @SubscribeEvent public static void biomeLoadingRemove(BiomeLoadingEvent event) { Category category = event.getCategory(); BiomeGenerationSettingsBuilder genBuilder = event.getGeneration(); if (category == Category.THEEND) { } else if (category == Category.NETHER) { } else { for (Decoration stage : GenerationStage.Decoration.values()) { genBuilder.getFeatures(stage).removeIf((supplier) -> { ConfiguredFeature<?, ?> configuredFeature = supplier.get(); for (ConfiguredFeature<?, ?> feature : configuredFeature.getFeatures().collect(Collectors.toList())) { if (feature.feature instanceof OreFeature) { return true; } } return false; }); } } }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.