updates to particles

This commit is contained in:
Zoë Gidiere 2025-07-09 19:31:48 -06:00
parent 79f9488380
commit cb8aefe8d2

View File

@ -5,32 +5,36 @@ import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.mojang.brigadier.StringReader; import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.client.particle.Particle;
import net.minecraft.command.argument.ParticleEffectArgumentType; import net.minecraft.command.argument.ParticleEffectArgumentType;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.util.Identifier;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.BiomeParticleConfig; import net.minecraft.world.biome.BiomeParticleConfig;
import java.util.stream.Stream;
public class BiomeParticleConfigTemplate implements ObjectTemplate<BiomeParticleConfig> { public class BiomeParticleConfigTemplate implements ObjectTemplate<BiomeParticleConfig> {
@Value("particle") @Value("particle")
@Default @Default
private Identifier particle = null; private String particle = null;
@Value("probability") @Value("probability")
@Default @Default
private Integer probability = null; private Float probability = 0.1f;
@Override @Override
public BiomeParticleConfig get() { public BiomeParticleConfig get() {
if(particle == null || probability == null) { if(particle == null) {
return 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); probability);
} catch(CommandSyntaxException e) {
throw new RuntimeException(e);
}
} }
} }