/**
* MrCrayfish's Furniture Mod
* Copyright (C) 2016 MrCrayfish (http://www.mrcrayfish.com/)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.mrcrayfish.furniture.util;
import com.mrcrayfish.furniture.entity.EnittySteamFX;
import com.mrcrayfish.furniture.entity.EntityShowerFX;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
public class ParticleSpawner
{
private static Minecraft mc = Minecraft.getMinecraft();
public static EntityFX spawnParticle(String particleName, double par2, double par4, double par6)
{
if (mc != null && mc.getRenderViewEntity() != null && mc.effectRenderer != null)
{
int var14 = mc.gameSettings.particleSetting;
if (var14 == 1 && mc.theWorld.rand.nextInt(3) == 0)
{
var14 = 2;
}
double var15 = mc.getRenderViewEntity().posX - par2;
double var17 = mc.getRenderViewEntity().posY - par4;
double var19 = mc.getRenderViewEntity().posZ - par6;
EntityFX var21 = null;
double var22 = 16.0D;
if (var15 * var15 + var17 * var17 + var19 * var19 > var22 * var22)
{
return null;
}
else if (var14 > 1)
{
return null;
}
else
{
if (particleName.equals("shower"))
{
var21 = new EntityShowerFX(mc.theWorld, par2, par4, par6);
}
else if (particleName.equals("smoke"))
{
var21 = new EnittySteamFX(mc.theWorld, par2, par4, par6, 0.01, 0.0000001, 0.01);
}
mc.effectRenderer.addEffect(var21);
return var21;
}
}
return null;
}
}