mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 23:01:03 +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.block.Blocks;
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
import net.minecraft.text.LiteralText;
|
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.Biome;
|
||||||
import net.minecraft.world.biome.BiomeEffects;
|
import net.minecraft.world.biome.BiomeEffects;
|
||||||
import net.minecraft.world.biome.GenerationSettings;
|
import net.minecraft.world.biome.GenerationSettings;
|
||||||
@@ -109,7 +111,10 @@ public final class FabricUtil {
|
|||||||
if(optionsTemplate.doBiomeInjection()) {
|
if(optionsTemplate.doBiomeInjection()) {
|
||||||
for(int step = 0; step < vanilla.getGenerationSettings().getFeatures().size(); step++) {
|
for(int step = 0; step < vanilla.getGenerationSettings().getFeatures().size(); step++) {
|
||||||
for(Supplier<ConfiguredFeature<?, ?>> featureSupplier : vanilla.getGenerationSettings().getFeatures().get(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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-7
@@ -6,7 +6,9 @@ import com.dfsek.tectonic.config.ConfigTemplate;
|
|||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
||||||
@Value("features.inject-registry.enable")
|
@Value("features.inject-registry.enable")
|
||||||
@@ -17,13 +19,13 @@ public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
|||||||
@Default
|
@Default
|
||||||
private boolean doBiomeInjection = false;
|
private boolean doBiomeInjection = false;
|
||||||
|
|
||||||
@Value("features.inject-biome.excluded-features")
|
|
||||||
@Default
|
|
||||||
private List<Identifier> excludedRegistryFeatures = new ArrayList<>();
|
|
||||||
|
|
||||||
@Value("features.inject-registry.excluded-features")
|
@Value("features.inject-registry.excluded-features")
|
||||||
@Default
|
@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() {
|
public boolean doBiomeInjection() {
|
||||||
return doBiomeInjection;
|
return doBiomeInjection;
|
||||||
@@ -33,11 +35,11 @@ public class PackFeatureOptionsTemplate implements ConfigTemplate {
|
|||||||
return doRegistryInjection;
|
return doRegistryInjection;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Identifier> getExcludedBiomeFeatures() {
|
public Set<Identifier> getExcludedBiomeFeatures() {
|
||||||
return excludedBiomeFeatures;
|
return excludedBiomeFeatures;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Identifier> getExcludedRegistryFeatures() {
|
public Set<Identifier> getExcludedRegistryFeatures() {
|
||||||
return excludedRegistryFeatures;
|
return excludedRegistryFeatures;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user