Code/net/minecraft/world/level/block/TintedParticleLeavesBlock.java

35 lines
1.6 KiB
Java

package net.minecraft.world.level.block;
import com.mojang.serialization.MapCodec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import com.mojang.serialization.codecs.RecordCodecBuilder.Instance;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ColorParticleOption;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.util.ParticleUtils;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockBehaviour;
public class TintedParticleLeavesBlock extends LeavesBlock {
public static final MapCodec<TintedParticleLeavesBlock> CODEC = RecordCodecBuilder.mapCodec(
p_393766_ -> p_393766_.group(ExtraCodecs.floatRange(0.0F, 1.0F).fieldOf("leaf_particle_chance").forGetter(p_393870_ -> p_393870_.leafParticleChance), propertiesCodec())
.apply(p_393766_, TintedParticleLeavesBlock::new)
);
public TintedParticleLeavesBlock(float p_392052_, BlockBehaviour.Properties p_391381_) {
super(p_392052_, p_391381_);
}
@Override
protected void spawnFallingLeavesParticle(Level p_391521_, BlockPos p_397831_, RandomSource p_393219_) {
ColorParticleOption colorparticleoption = ColorParticleOption.create(ParticleTypes.TINTED_LEAVES, p_391521_.getClientLeafTintColor(p_397831_));
ParticleUtils.spawnParticleBelow(p_391521_, p_397831_, p_393219_, colorparticleoption);
}
@Override
public MapCodec<? extends TintedParticleLeavesBlock> codec() {
return CODEC;
}
}