/** * Copyright (c) Lambda Innovation, 2013-2016 * This file is part of the AcademyCraft mod. * https://github.com/LambdaInnovation/AcademyCraft * Licensed under GPLv3, see project root for more information. */ package cn.academy.vanilla.teleporter.client; import cn.academy.core.Resources; import cn.lambdalib.particle.Particle; import cn.lambdalib.particle.ParticleFactory; import cn.lambdalib.particle.decorators.ParticleDecorator; import cn.lambdalib.util.generic.RandUtils; import net.minecraft.util.ResourceLocation; /** * @author WeAthFolD */ public class FormulaParticleFactory extends ParticleFactory { public static final FormulaParticleFactory instance = new FormulaParticleFactory(); static ResourceLocation[] textures = Resources.getEffectSeq("formula", 10); private FormulaParticleFactory() { super(new Particle()); this.template.color.setColor4i(220, 220, 220, 255); this.template.hasLight = false; this.addDecorator(new ParticleDecorator() { @Override public void decorate(Particle particle) { particle.size = RandUtils.rangef(1, 1.7f); particle.color.a = RandUtils.ranged(0.6, 1.5); particle.texture = textures[RandUtils.nextInt(textures.length)]; particle.fadeInTime = 2; particle.fadeAfter(RandUtils.rangei(10, 15), 20); } }); } }