diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/BiomeParticleConfigTemplate.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/BiomeParticleConfigTemplate.java index 81824003d..6c253a19a 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/BiomeParticleConfigTemplate.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/BiomeParticleConfigTemplate.java @@ -5,32 +5,36 @@ import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import net.minecraft.client.particle.Particle; import net.minecraft.command.argument.ParticleEffectArgumentType; -import net.minecraft.particle.ParticleEffect; import net.minecraft.registry.Registries; import net.minecraft.registry.RegistryWrapper; -import net.minecraft.util.Identifier; -import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeParticleConfig; +import java.util.stream.Stream; + public class BiomeParticleConfigTemplate implements ObjectTemplate { @Value("particle") @Default - private Identifier particle = null; + private String particle = null; @Value("probability") @Default - private Integer probability = null; + private Float probability = 0.1f; @Override public BiomeParticleConfig get() { - if(particle == null || probability == null) { + if(particle == null) { return null; } - return new BiomeParticleConfig((ParticleEffect) Registries.PARTICLE_TYPE.get(particle), + try { + return new BiomeParticleConfig( + ParticleEffectArgumentType.readParameters(new StringReader(particle), + RegistryWrapper.WrapperLookup.of(Stream.of(Registries.PARTICLE_TYPE))), probability); + } catch(CommandSyntaxException e) { + throw new RuntimeException(e); + } } }