/* * This file is a part of the SteamWar software. * * Copyright (C) 2025 SteamWar.de-Serverteam * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package de.steamwar.lobby.particle.particles; import de.steamwar.lobby.particle.ParticleData; import de.steamwar.lobby.particle.ParticleEnum; import de.steamwar.lobby.particle.elements.DustParticle; import de.steamwar.lobby.particle.elements.LocationMutator; import de.steamwar.lobby.particle.elements.SimpleParticle; import lombok.AllArgsConstructor; import lombok.Getter; import org.bukkit.Material; import org.bukkit.Particle; @AllArgsConstructor public enum PlayerParticle implements ParticleEnum { SNEEZE(new ParticleData(Material.SLIME_BLOCK, "PARTICLE_SNEEZE", new SimpleParticle(Particle.SNEEZE, 0.2F, 0.2F, 0.2F, 0.01)) ), SMOKE(new ParticleData(Material.COBWEB, "PARTICLE_SMOKE", new SimpleParticle(Particle.SMOKE, 0.2F, 0.2F, 0.2F, 0.01)) ), FIRE(new ParticleData(Material.LAVA_BUCKET, "PARTICLE_FIRE", new SimpleParticle(Particle.DRIPPING_LAVA)) ), WATER(new ParticleData(Material.WATER_BUCKET, "PARTICLE_WATER", new SimpleParticle(Particle.DRIPPING_WATER)) ), HEARTH(new ParticleData(Material.RED_DYE, "PARTICLE_HEART", new LocationMutator(new SimpleParticle(Particle.HEART), 0, 2.2, 0)) ), NOTES(new ParticleData(Material.NOTE_BLOCK, "PARTICLE_NOTES", new LocationMutator(new SimpleParticle(Particle.NOTE), 0, 2.2, 0)) ), NAUTILUS(new ParticleData(Material.NAUTILUS_SHELL, "PARTICLE_NAUTILUS", new SimpleParticle(Particle.NAUTILUS, 0.2F, 0.2F ,0.2F, 0.01)) ), SNOWBALL(new ParticleData(Material.SNOWBALL, "PARTICLE_SNOWBALL", new SimpleParticle(Particle.SNOWFLAKE, 0.2F, 0.2F ,0.2F, 0.01)) ), EFFECT(new ParticleData(Material.GLASS_BOTTLE, "PARTICLE_EFFECT", new DustParticle(Particle.DUST, 0, 0.2F, 0, 0.01, 5, null)) ), CAMPFIRE(new ParticleData(Material.CAMPFIRE, "PARTICLE_CAMPFIRE", new SimpleParticle(Particle.CAMPFIRE_COSY_SMOKE, 0, 0.2F ,0, 0.01)) ), MAGIC(new ParticleData(Material.CAULDRON, "PARTICLE_MAGIC", new SimpleParticle(Particle.CRIT, 0.2F, 0.2F, 0.2F, 0.01)) ), ANGRY(new ParticleData(Material.REDSTONE_BLOCK, "PARTICLE_ANGRY", new SimpleParticle(Particle.ANGRY_VILLAGER, 0.2F, 0.2F, 0.2F, 0.01)) ), SLIME(new ParticleData(Material.SLIME_BALL, "PARTICLE_SLIME", new SimpleParticle(Particle.ITEM_SLIME)) ), MOB(new ParticleData(Material.ZOMBIE_HEAD, "PARTICLE_MOB", new SimpleParticle(Particle.SOUL)) ), ; public static ParticleEnum[] particles = values(); @Getter private ParticleData particle; }