40 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.core.particles;
 | |
| 
 | |
| import com.mojang.serialization.MapCodec;
 | |
| import com.mojang.serialization.codecs.RecordCodecBuilder;
 | |
| import net.minecraft.network.RegistryFriendlyByteBuf;
 | |
| import net.minecraft.network.codec.ByteBufCodecs;
 | |
| import net.minecraft.network.codec.StreamCodec;
 | |
| import net.minecraft.util.ARGB;
 | |
| import net.minecraft.util.ExtraCodecs;
 | |
| import org.joml.Vector3f;
 | |
| 
 | |
| public class DustParticleOptions extends ScalableParticleOptionsBase {
 | |
| 	public static final int REDSTONE_PARTICLE_COLOR = 16711680;
 | |
| 	public static final DustParticleOptions REDSTONE = new DustParticleOptions(16711680, 1.0F);
 | |
| 	public static final MapCodec<DustParticleOptions> CODEC = RecordCodecBuilder.mapCodec(
 | |
| 		instance -> instance.group(
 | |
| 				ExtraCodecs.RGB_COLOR_CODEC.fieldOf("color").forGetter(dustParticleOptions -> dustParticleOptions.color),
 | |
| 				SCALE.fieldOf("scale").forGetter(ScalableParticleOptionsBase::getScale)
 | |
| 			)
 | |
| 			.apply(instance, DustParticleOptions::new)
 | |
| 	);
 | |
| 	public static final StreamCodec<RegistryFriendlyByteBuf, DustParticleOptions> STREAM_CODEC = StreamCodec.composite(
 | |
| 		ByteBufCodecs.INT, dustParticleOptions -> dustParticleOptions.color, ByteBufCodecs.FLOAT, ScalableParticleOptionsBase::getScale, DustParticleOptions::new
 | |
| 	);
 | |
| 	private final int color;
 | |
| 
 | |
| 	public DustParticleOptions(int color, float scale) {
 | |
| 		super(scale);
 | |
| 		this.color = color;
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	public ParticleType<DustParticleOptions> getType() {
 | |
| 		return ParticleTypes.DUST;
 | |
| 	}
 | |
| 
 | |
| 	public Vector3f getColor() {
 | |
| 		return ARGB.vector3fFromRGB24(this.color);
 | |
| 	}
 | |
| }
 |