mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 10:30:42 +00:00
conditional biome injection
This commit is contained in:
@@ -16,6 +16,8 @@ import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.BuiltinRegistries;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.BiomeEffects;
|
||||
import net.minecraft.world.biome.GenerationSettings;
|
||||
@@ -109,7 +111,10 @@ public final class FabricUtil {
|
||||
if(optionsTemplate.doBiomeInjection()) {
|
||||
for(int step = 0; step < vanilla.getGenerationSettings().getFeatures().size(); step++) {
|
||||
for(Supplier<ConfiguredFeature<?, ?>> featureSupplier : vanilla.getGenerationSettings().getFeatures().get(step)) {
|
||||
generationSettings.feature(step, featureSupplier);
|
||||
Identifier key = BuiltinRegistries.CONFIGURED_FEATURE.getId(featureSupplier.get());
|
||||
if(!optionsTemplate.getExcludedBiomeFeatures().contains(key)) {
|
||||
generationSettings.feature(step, featureSupplier);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,9 @@ import com.dfsek.tectonic.config.ConfigTemplate;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
||||
@Value("features.inject-registry.enable")
|
||||
@@ -17,13 +19,13 @@ public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
||||
@Default
|
||||
private boolean doBiomeInjection = false;
|
||||
|
||||
@Value("features.inject-biome.excluded-features")
|
||||
@Default
|
||||
private List<Identifier> excludedRegistryFeatures = new ArrayList<>();
|
||||
|
||||
@Value("features.inject-registry.excluded-features")
|
||||
@Default
|
||||
private List<Identifier> excludedBiomeFeatures = new ArrayList<>();
|
||||
private Set<Identifier> excludedRegistryFeatures = new HashSet<>();
|
||||
|
||||
@Value("features.inject-biome.excluded-features")
|
||||
@Default
|
||||
private Set<Identifier> excludedBiomeFeatures = new HashSet<>();
|
||||
|
||||
public boolean doBiomeInjection() {
|
||||
return doBiomeInjection;
|
||||
@@ -33,11 +35,11 @@ public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
||||
return doRegistryInjection;
|
||||
}
|
||||
|
||||
public List<Identifier> getExcludedBiomeFeatures() {
|
||||
public Set<Identifier> getExcludedBiomeFeatures() {
|
||||
return excludedBiomeFeatures;
|
||||
}
|
||||
|
||||
public List<Identifier> getExcludedRegistryFeatures() {
|
||||
public Set<Identifier> getExcludedRegistryFeatures() {
|
||||
return excludedRegistryFeatures;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user