/* * Decompiled with CFR 0.152. */ package com.vinlanx.explosionoverhaul; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.datafixers.kinds.App; import com.mojang.datafixers.kinds.Applicative; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.vinlanx.explosionoverhaul.ModParticles; import java.util.Locale; import net.minecraft.client.particle.SpriteSet; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; import net.minecraft.network.FriendlyByteBuf; public class SmokeParticleOptions implements ParticleOptions { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group((App)Codec.FLOAT.fieldOf("scale").forGetter(SmokeParticleOptions::getScale), (App)Codec.INT.fieldOf("lifetime").forGetter(SmokeParticleOptions::getLifetime), (App)Codec.FLOAT.fieldOf("r").forGetter(SmokeParticleOptions::getRed), (App)Codec.FLOAT.fieldOf("g").forGetter(SmokeParticleOptions::getGreen), (App)Codec.FLOAT.fieldOf("b").forGetter(SmokeParticleOptions::getBlue), (App)Codec.FLOAT.fieldOf("a").forGetter(SmokeParticleOptions::getAlpha), (App)Codec.BOOL.fieldOf("isHeavy").forGetter(SmokeParticleOptions::isHeavy), (App)Codec.FLOAT.fieldOf("windSpeed").forGetter(SmokeParticleOptions::getWindSpeed), (App)Codec.FLOAT.fieldOf("heightPercent").forGetter(SmokeParticleOptions::getHeightPercent)).apply((Applicative)instance, (scale, lifetime, r, g, b, a, isHeavy, windSpeed, heightPercent) -> new SmokeParticleOptions(scale.floatValue(), (int)lifetime, r.floatValue(), g.floatValue(), b.floatValue(), a.floatValue(), (boolean)isHeavy, windSpeed.floatValue(), heightPercent.floatValue(), null))); public static final ParticleOptions.Deserializer DESERIALIZER = new ParticleOptions.Deserializer(){ public SmokeParticleOptions fromCommand(ParticleType particleType, StringReader reader) throws CommandSyntaxException { reader.expect(' '); float scale = reader.readFloat(); reader.expect(' '); int lifetime = reader.readInt(); reader.expect(' '); float r = reader.readFloat(); reader.expect(' '); float g = reader.readFloat(); reader.expect(' '); float b = reader.readFloat(); reader.expect(' '); float a = reader.readFloat(); reader.expect(' '); boolean isHeavy = reader.readBoolean(); reader.expect(' '); float windSpeed = reader.readFloat(); reader.expect(' '); float heightPercent = reader.readFloat(); return new SmokeParticleOptions(scale, lifetime, r, g, b, a, isHeavy, windSpeed, heightPercent, null); } public SmokeParticleOptions fromNetwork(ParticleType particleType, FriendlyByteBuf buffer) { return new SmokeParticleOptions(buffer.readFloat(), buffer.readInt(), buffer.readFloat(), buffer.readFloat(), buffer.readFloat(), buffer.readFloat(), buffer.readBoolean(), buffer.readFloat(), buffer.readFloat(), null); } }; private final float scale; private final int lifetime; private final float r; private final float g; private final float b; private final float a; private final boolean isHeavy; private final float windSpeed; private final float heightPercent; private final SpriteSet sprites; public SmokeParticleOptions(float scale, int lifetime, float r, float g, float b, float a, boolean isHeavy, float windSpeed, float heightPercent, SpriteSet sprites) { this.scale = scale; this.lifetime = lifetime; this.r = r; this.g = g; this.b = b; this.a = a; this.isHeavy = isHeavy; this.windSpeed = windSpeed; this.heightPercent = heightPercent; this.sprites = sprites; } public SmokeParticleOptions(float scale, int lifetime, float r, float g, float b, float a, SpriteSet sprites) { this(scale, lifetime, r, g, b, a, false, 0.0f, 0.0f, sprites); } public ParticleType m_6012_() { return (ParticleType)ModParticles.CUSTOM_SMOKE.get(); } public void m_7711_(FriendlyByteBuf buffer) { buffer.writeFloat(this.scale); buffer.writeInt(this.lifetime); buffer.writeFloat(this.r); buffer.writeFloat(this.g); buffer.writeFloat(this.b); buffer.writeFloat(this.a); buffer.writeBoolean(this.isHeavy); buffer.writeFloat(this.windSpeed); buffer.writeFloat(this.heightPercent); } public String m_5942_() { return String.format(Locale.ROOT, "%s %.2f %d %.2f %.2f %.2f %.2f %b", ModParticles.CUSTOM_SMOKE.getId(), Float.valueOf(this.scale), this.lifetime, Float.valueOf(this.r), Float.valueOf(this.g), Float.valueOf(this.b), Float.valueOf(this.a), this.isHeavy); } public float getScale() { return this.scale; } public int getLifetime() { return this.lifetime; } public float getRed() { return this.r; } public float getGreen() { return this.g; } public float getBlue() { return this.b; } public float getAlpha() { return this.a; } public boolean isHeavy() { return this.isHeavy; } public float getWindSpeed() { return this.windSpeed; } public float getHeightPercent() { return this.heightPercent; } public SpriteSet getSprites() { return this.sprites; } }