forked from SteamWar/SteamWar
Add some of the Easter Particles
This commit is contained in:
@@ -50,6 +50,7 @@ PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_DIFFICULTY = §fFind all Easter Eggs with d
|
|||||||
PARTICLE_ATTRIBUTE = §eAttributes§7:
|
PARTICLE_ATTRIBUTE = §eAttributes§7:
|
||||||
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
||||||
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Double ring
|
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Double ring
|
||||||
|
PARTICLE_ATTRIBUTE_TRI_CIRCLE = §8-§f Tripple ring
|
||||||
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Cloud
|
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Cloud
|
||||||
PARTICLE_ATTRIBUTE_TICK = §8-§f Always active
|
PARTICLE_ATTRIBUTE_TICK = §8-§f Always active
|
||||||
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In air
|
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In air
|
||||||
@@ -101,10 +102,16 @@ PARTICLE_MAGIC_ENCHANTING = §5Magic/Enchantment
|
|||||||
PARTICLE_WINGS_EVIL = §5Purple wings
|
PARTICLE_WINGS_EVIL = §5Purple wings
|
||||||
|
|
||||||
PARTICLE_PLAYER_HAYLIM_AURA = §fHaylim\'s Aura
|
PARTICLE_PLAYER_HAYLIM_AURA = §fHaylim\'s Aura
|
||||||
PARTICLE_PLAYER_RONGAMER99091_AURA = §7Smoke Granade
|
PARTICLE_PLAYER_1063 = §7Circling Circle
|
||||||
PARTICLE_PLAYER_PLOMPA = §9ECAL
|
PARTICLE_PLAYER_10916_AURA = §7Tornado
|
||||||
|
PARTICLE_PLAYER_10697_AURA = §7Smoke Granade
|
||||||
|
PARTICLE_PLAYER_64 = §9ECAL
|
||||||
|
PARTICLE_PLAYER_153 = §9ELY
|
||||||
|
PARTICLE_PLAYER_3266 = §9Tricolo
|
||||||
|
PARTICLE_TEAM_158_1 = §9EV
|
||||||
|
PARTICLE_TEAM_158_2 = §9DNA
|
||||||
|
|
||||||
PARTICLE_TEAM_PULSE_AURA_1 = §fPulse Aura §cFlame
|
PARTICLE_TEAM_PULSE_AURA = §fPulse Aura §cFlame
|
||||||
PARTICLE_TEAM_PULSE_AURA_2 = §fPulse Aura §7End Rod
|
PARTICLE_TEAM_PULSE_AURA_2 = §fPulse Aura §7End Rod
|
||||||
PARTICLE_TEAM_PULSE_AURA_3 = §fPulse Aura §fEnchanted
|
PARTICLE_TEAM_PULSE_AURA_3 = §fPulse Aura §fEnchanted
|
||||||
PARTICLE_TEAM_PULSE_LOGO = §fPulse Logo
|
PARTICLE_TEAM_PULSE_LOGO = §fPulse Logo
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_DIFFICULTY = §fAlle Eierer mit Schwierigke
|
|||||||
|
|
||||||
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
||||||
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Doppelring
|
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Doppelring
|
||||||
|
PARTICLE_ATTRIBUTE_TRI_CIRCLE = §8-§f Dreifachring
|
||||||
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Wolke
|
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Wolke
|
||||||
PARTICLE_ATTRIBUTE_TICK = §8-§f Immer aktiv
|
PARTICLE_ATTRIBUTE_TICK = §8-§f Immer aktiv
|
||||||
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In der Luft
|
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In der Luft
|
||||||
@@ -99,7 +100,8 @@ PARTICLE_WATER_FIRE = §bWasser§7/§cFeuer
|
|||||||
PARTICLE_MAGIC_ENCHANTING = §5Magie§7/§eZauber
|
PARTICLE_MAGIC_ENCHANTING = §5Magie§7/§eZauber
|
||||||
PARTICLE_WINGS_EVIL = §5Lila Flügel
|
PARTICLE_WINGS_EVIL = §5Lila Flügel
|
||||||
|
|
||||||
PARTICLE_PLAYER_RONGAMER99091_AURA = §7Rauchgranate
|
PARTICLE_PLAYER_1063 = §7Kreisende Kreise
|
||||||
|
PARTICLE_PLAYER_10697_AURA = §7Rauchgranate
|
||||||
|
|
||||||
PARTICLE_TEAM_PULSE_HEART_BEAT = §cHerzschlag
|
PARTICLE_TEAM_PULSE_HEART_BEAT = §cHerzschlag
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.lobby.particle;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Gradient {
|
||||||
|
|
||||||
|
private List<Color> colors;
|
||||||
|
|
||||||
|
public Gradient(Color... colors) {
|
||||||
|
this.colors = Arrays.asList(colors);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color getColor(double value, double maxValue) {
|
||||||
|
value /= maxValue / (double) (colors.size() - 1);
|
||||||
|
|
||||||
|
return lerpColor(
|
||||||
|
colors.get((int) value),
|
||||||
|
colors.get((int) value + 1),
|
||||||
|
value - (int) value,
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Color lerpColor(Color start, Color end, double step, double maxStep) {
|
||||||
|
double rStep = (end.getRed() - start.getRed()) / maxStep;
|
||||||
|
double gStep = (end.getGreen() - start.getGreen()) / maxStep;
|
||||||
|
double bStep = (end.getBlue() - start.getBlue()) / maxStep;
|
||||||
|
|
||||||
|
return new Color(start.getRed() + (int) (rStep * step),
|
||||||
|
start.getGreen() + (int) (gStep * step),
|
||||||
|
start.getBlue() + (int) (bStep * step));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,6 +24,10 @@ public interface ParticleElement {
|
|||||||
return new Particle.DustOptions(randomColor(), randomSize());
|
return new Particle.DustOptions(randomColor(), randomSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default Particle.DustOptions withColor(int r, int g, int b) {
|
||||||
|
return new Particle.DustOptions(Color.fromRGB(r, g, b), randomSize());
|
||||||
|
}
|
||||||
|
|
||||||
default void display(Location location, Player root, boolean onlySelf, boolean onlyOther, Consumer<Player> consumer) {
|
default void display(Location location, Player root, boolean onlySelf, boolean onlyOther, Consumer<Player> consumer) {
|
||||||
if (onlySelf) {
|
if (onlySelf) {
|
||||||
consumer.accept(root);
|
consumer.accept(root);
|
||||||
|
|||||||
@@ -53,4 +53,10 @@ public interface WingDesign {
|
|||||||
WingDesign PL = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/PL-Logo.png"));
|
WingDesign PL = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/PL-Logo.png"));
|
||||||
|
|
||||||
WingDesign PlompaEasterWings = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/ECAL-Logo.png"));
|
WingDesign PlompaEasterWings = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/ECAL-Logo.png"));
|
||||||
|
|
||||||
|
WingDesign ELY_E = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/Ely_E.png"));
|
||||||
|
WingDesign ELY_L = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/Ely_L.png"));
|
||||||
|
WingDesign ELY_Y = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/Ely_Y.png"));
|
||||||
|
|
||||||
|
WingDesign EV = new WingDesignImpl(create("/de/steamwar/lobby/particle/decorator/EV.png"));
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 614 B |
Binary file not shown.
|
After Width: | Height: | Size: 198 B |
Binary file not shown.
|
After Width: | Height: | Size: 182 B |
Binary file not shown.
|
After Width: | Height: | Size: 183 B |
@@ -1,10 +1,13 @@
|
|||||||
package de.steamwar.lobby.particle.elements;
|
package de.steamwar.lobby.particle.elements;
|
||||||
|
|
||||||
|
import de.steamwar.lobby.particle.Gradient;
|
||||||
import de.steamwar.lobby.particle.ParticleElement;
|
import de.steamwar.lobby.particle.ParticleElement;
|
||||||
import de.steamwar.lobby.particle.ParticleTickData;
|
import de.steamwar.lobby.particle.ParticleTickData;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
public class DustParticle implements ParticleElement {
|
public class DustParticle implements ParticleElement {
|
||||||
|
|
||||||
private Particle particle;
|
private Particle particle;
|
||||||
@@ -13,32 +16,44 @@ public class DustParticle implements ParticleElement {
|
|||||||
private float vz = 0.01f;
|
private float vz = 0.01f;
|
||||||
private double speed = 0.01;
|
private double speed = 0.01;
|
||||||
private int count = 5;
|
private int count = 5;
|
||||||
|
private Gradient gradient;
|
||||||
|
|
||||||
public DustParticle(Particle particle) {
|
public DustParticle(Particle particle, Gradient gradient) {
|
||||||
this.particle = particle;
|
this.particle = particle;
|
||||||
|
this.gradient = gradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DustParticle(Particle particle, float vx, float vy, float vz) {
|
public DustParticle(Particle particle, float vx, float vy, float vz, Gradient gradient) {
|
||||||
this.particle = particle;
|
this.particle = particle;
|
||||||
this.vx = vx;
|
this.vx = vx;
|
||||||
this.vy = vy;
|
this.vy = vy;
|
||||||
this.vz = vz;
|
this.vz = vz;
|
||||||
|
this.gradient = gradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DustParticle(Particle particle, float vx, float vy, float vz, double speed, int count) {
|
public DustParticle(Particle particle, float vx, float vy, float vz, double speed, int count, Gradient gradient) {
|
||||||
this.particle = particle;
|
this.particle = particle;
|
||||||
this.vx = vx;
|
this.vx = vx;
|
||||||
this.vy = vy;
|
this.vy = vy;
|
||||||
this.vz = vz;
|
this.vz = vz;
|
||||||
this.speed = speed;
|
this.speed = speed;
|
||||||
this.count = count;
|
this.count = count;
|
||||||
|
this.gradient = gradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void tick(ParticleTickData particleTickData) {
|
public void tick(ParticleTickData particleTickData) {
|
||||||
Location location = particleTickData.getLocation().add(0.0, 0.2, 0.0);
|
Location location = particleTickData.getLocation().add(0.0, 0.2, 0.0);
|
||||||
|
Particle.DustOptions dustOptions;
|
||||||
|
if (gradient != null) {
|
||||||
|
double result = particleTickData.getDeg() % 360;
|
||||||
|
Color color = gradient.getColor(result, 360);
|
||||||
|
dustOptions = withColor(color.getRed(), color.getGreen(), color.getBlue());
|
||||||
|
} else {
|
||||||
|
dustOptions = randomParticleDust();
|
||||||
|
}
|
||||||
display(location, particleTickData.getPlayer(), particleTickData.isOnlySelf(), particleTickData.isOnlyOthers(), player -> {
|
display(location, particleTickData.getPlayer(), particleTickData.isOnlySelf(), particleTickData.isOnlyOthers(), player -> {
|
||||||
player.spawnParticle(particle, location, count, vx, vy, vz, speed, randomParticleDust());
|
player.spawnParticle(particle, location, count, vx, vy, vz, speed, dustOptions);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package de.steamwar.lobby.particle.elements;
|
||||||
|
|
||||||
|
import de.steamwar.lobby.particle.ParticleElement;
|
||||||
|
import de.steamwar.lobby.particle.ParticleTickData;
|
||||||
|
import de.steamwar.lobby.particle.ParticleTickType;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class TrippleCircle extends Circle {
|
||||||
|
|
||||||
|
private ParticleElement second;
|
||||||
|
private ParticleElement third;
|
||||||
|
|
||||||
|
private double distance;
|
||||||
|
private double speed;
|
||||||
|
|
||||||
|
public TrippleCircle(ParticleElement first, ParticleElement second, ParticleElement third) {
|
||||||
|
super(first);
|
||||||
|
this.second = second;
|
||||||
|
this.distance = 1;
|
||||||
|
this.speed = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TrippleCircle(ParticleElement first, ParticleElement second, ParticleElement third, double distance, double speed) {
|
||||||
|
super(first);
|
||||||
|
this.second = second;
|
||||||
|
this.distance = distance;
|
||||||
|
this.speed = speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String attribute() {
|
||||||
|
return "PARTICLE_ATTRIBUTE_TRI_CIRCLE";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ParticleTickType tickType() {
|
||||||
|
if (particleElement.tickType() == second.tickType() && particleElement.tickType() == third.tickType()) {
|
||||||
|
return particleElement.tickType();
|
||||||
|
}
|
||||||
|
return ParticleTickType.MOVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick(ParticleTickData particleTickData) {
|
||||||
|
Location location = particleTickData.getLocation();
|
||||||
|
|
||||||
|
Vector vector = new Vector(distance, 0, 0);
|
||||||
|
vector.rotateAroundY((particleTickData.getDeg() * speed) % 360);
|
||||||
|
ParticleTickData nParticleTickData = particleTickData.withLocation(location.clone().add(vector));
|
||||||
|
particleElement.tick(nParticleTickData);
|
||||||
|
|
||||||
|
vector.rotateAroundY(120);
|
||||||
|
nParticleTickData = particleTickData.withLocation(location.clone().add(vector));
|
||||||
|
second.tick(nParticleTickData);
|
||||||
|
|
||||||
|
vector.rotateAroundY(120);
|
||||||
|
nParticleTickData = particleTickData.withLocation(location.clone().add(vector));
|
||||||
|
third.tick(nParticleTickData);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,13 +10,15 @@ public class YOffset extends DelegatingParticleElement {
|
|||||||
private double minY;
|
private double minY;
|
||||||
private double maxY;
|
private double maxY;
|
||||||
private boolean inverted;
|
private boolean inverted;
|
||||||
|
private boolean bounce;
|
||||||
|
|
||||||
public YOffset(ParticleElement particleElement, double speed, double minY, double maxY, boolean inverted) {
|
public YOffset(ParticleElement particleElement, double speed, double minY, double maxY, boolean inverted, boolean bounce) {
|
||||||
super(particleElement);
|
super(particleElement);
|
||||||
this.multiplication = speed;
|
this.multiplication = speed;
|
||||||
this.minY = minY;
|
this.minY = minY;
|
||||||
this.maxY = maxY;
|
this.maxY = maxY;
|
||||||
this.inverted = inverted;
|
this.inverted = inverted;
|
||||||
|
this.bounce = bounce;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -26,19 +28,28 @@ public class YOffset extends DelegatingParticleElement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void tick(ParticleTickData particleTickData) {
|
public void tick(ParticleTickData particleTickData) {
|
||||||
double value = ((particleTickData.getDeg() * multiplication) % 360) / 180;
|
|
||||||
double y;
|
double y;
|
||||||
if (inverted) {
|
if (bounce) {
|
||||||
if (value <= 1) {
|
double value = ((particleTickData.getDeg() * multiplication) % 360) / 180;
|
||||||
y = maxY - (maxY - minY) * value;
|
if (inverted) {
|
||||||
|
if (value <= 1) {
|
||||||
|
y = maxY - (maxY - minY) * value;
|
||||||
|
} else {
|
||||||
|
y = minY + (maxY - minY) * (value - 1);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
y = minY + (maxY - minY) * (value - 1);
|
if (value <= 1) {
|
||||||
|
y = minY + (maxY - minY) * value;
|
||||||
|
} else {
|
||||||
|
y = maxY - (maxY - minY) * (value - 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (value <= 1) {
|
double value = ((particleTickData.getDeg() * multiplication) % 360) / 360;
|
||||||
y = minY + (maxY - minY) * value;
|
if (inverted) {
|
||||||
|
y = maxY - (maxY - minY) * value;
|
||||||
} else {
|
} else {
|
||||||
y = maxY - (maxY - minY) * (value - 1);
|
y = minY + (maxY - minY) * value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ParticleTickData current = particleTickData.withLocation(particleTickData.getLocation().clone().add(0, y, 0));
|
ParticleTickData current = particleTickData.withLocation(particleTickData.getLocation().clone().add(0, y, 0));
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public enum EasterParticle implements ParticleEnum {
|
|||||||
new Always(new Floor(new Sneaking(new SimpleParticle(Particle.GLOW_SQUID_INK, 0.4F, 0.9F, 0.4F, 0.01)))))
|
new Always(new Floor(new Sneaking(new SimpleParticle(Particle.GLOW_SQUID_INK, 0.4F, 0.9F, 0.4F, 0.01)))))
|
||||||
),
|
),
|
||||||
EGG_HUNT_HARD(new ParticleData(Material.RED_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_HARD", ParticleRequirement.EGG_HUNT_HARD,
|
EGG_HUNT_HARD(new ParticleData(Material.RED_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_HARD", ParticleRequirement.EGG_HUNT_HARD,
|
||||||
new Always(new LocationMutator(new DoubleCircle(new DustParticle(Particle.REDSTONE, 0, 0, 0, 0.01, 1), new DustParticle(Particle.REDSTONE, 0, 0, 0, 0.01, 1)), 0, 0.5, 0)))
|
new Always(new LocationMutator(new DoubleCircle(new DustParticle(Particle.REDSTONE, 0, 0, 0, 0.01, 1, null), new DustParticle(Particle.REDSTONE, 0, 0, 0, 0.01, 1, null)), 0, 0.5, 0)))
|
||||||
),
|
),
|
||||||
EGG_HUNT_EXTREME(new ParticleData(Material.PURPLE_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_EXTREME", ParticleRequirement.EGG_HUNT_EXTREME,
|
EGG_HUNT_EXTREME(new ParticleData(Material.PURPLE_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_EXTREME", ParticleRequirement.EGG_HUNT_EXTREME,
|
||||||
new Always(new LocationMutator(new SimpleParticle(Particle.FALLING_OBSIDIAN_TEAR, 0.5F, 0.1F, 0.5F, 1, 1), 0, 2.2, 0)))
|
new Always(new LocationMutator(new SimpleParticle(Particle.FALLING_OBSIDIAN_TEAR, 0.5F, 0.1F, 0.5F, 1, 1), 0, 2.2, 0)))
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public enum PlayerParticle implements ParticleEnum {
|
|||||||
new SimpleParticle(Particle.SNOWBALL, 0.2F, 0.2F ,0.2F, 0.01))
|
new SimpleParticle(Particle.SNOWBALL, 0.2F, 0.2F ,0.2F, 0.01))
|
||||||
),
|
),
|
||||||
EFFECT(new ParticleData(Material.GLASS_BOTTLE, "PARTICLE_EFFECT",
|
EFFECT(new ParticleData(Material.GLASS_BOTTLE, "PARTICLE_EFFECT",
|
||||||
new DustParticle(Particle.REDSTONE, 0, 0.2F, 0, 0.01, 5))
|
new DustParticle(Particle.REDSTONE, 0, 0.2F, 0, 0.01, 5, null))
|
||||||
),
|
),
|
||||||
CAMPFIRE(new ParticleData(Material.CAMPFIRE, "PARTICLE_CAMPFIRE",
|
CAMPFIRE(new ParticleData(Material.CAMPFIRE, "PARTICLE_CAMPFIRE",
|
||||||
new SimpleParticle(Particle.CAMPFIRE_COSY_SMOKE, 0, 0.2F ,0, 0.01))
|
new SimpleParticle(Particle.CAMPFIRE_COSY_SMOKE, 0, 0.2F ,0, 0.01))
|
||||||
|
|||||||
+71
-15
@@ -1,44 +1,100 @@
|
|||||||
package de.steamwar.lobby.particle.particles.custom;
|
package de.steamwar.lobby.particle.particles.custom;
|
||||||
|
|
||||||
import de.steamwar.lobby.particle.ParticleData;
|
import de.steamwar.lobby.particle.*;
|
||||||
import de.steamwar.lobby.particle.ParticleEnum;
|
|
||||||
import de.steamwar.lobby.particle.ParticleRequirement;
|
|
||||||
import de.steamwar.lobby.particle.WingDesign;
|
|
||||||
import de.steamwar.lobby.particle.elements.*;
|
import de.steamwar.lobby.particle.elements.*;
|
||||||
import de.steamwar.lobby.particle.elements.custom.HearthBeat;
|
import de.steamwar.lobby.particle.elements.custom.HearthBeat;
|
||||||
import de.steamwar.lobby.particle.elements.custom.NonMoving;
|
import de.steamwar.lobby.particle.elements.custom.NonMoving;
|
||||||
import de.steamwar.lobby.particle.elements.custom.PulseShimmer;
|
import de.steamwar.lobby.particle.elements.custom.PulseShimmer;
|
||||||
|
import de.steamwar.lobby.particle.elements.custom.YOffset;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum CustomEasterParticle implements ParticleEnum {
|
public enum CustomEasterParticle implements ParticleEnum {
|
||||||
|
|
||||||
/*
|
PLAYER_1063(new ParticleData(Material.ENDER_PEARL, "PARTICLE_PLAYER_1063", ParticleRequirement.easterEventSpecificPlayer(1063),
|
||||||
Lord_Loading(new ParticleData(Material.ENDER_PEARL, "Loading Test", ParticleRequirement.easterEventSpecificPlayer(1063),
|
new Always(new DoubleCircle(
|
||||||
new Always(new DoubleCircle(new DoubleCircle(new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1),
|
new DoubleCircle(
|
||||||
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1), 0.5, 4),
|
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1),
|
||||||
new DoubleCircle(new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1),
|
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1), 0.5, 4),
|
||||||
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1), 0.5, 4), 1.5, 1)))
|
new DoubleCircle(
|
||||||
|
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1),
|
||||||
|
new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0.01, 1), 0.5, 4), 1.5, 1)
|
||||||
|
))
|
||||||
),
|
),
|
||||||
*/
|
PLAYER_10916(new ParticleData(Material.TORCHFLOWER, "PARTICLE_PLAYER_10916_AURA", ParticleRequirement.easterEventSpecificPlayer(10916),
|
||||||
Rongamer99091(new ParticleData(Material.GUNPOWDER, "PARTICLE_PLAYER_RONGAMER99091_AURA", ParticleRequirement.easterEventSpecificPlayer(10697),
|
new Always(new NonMoving(new Group(
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.2, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.3, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.4, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.5, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.6, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.7, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.8, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 0.9, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.0, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.1, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.2, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.3, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.4, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.5, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.6, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.7, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.8, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 1.9, 0)),
|
||||||
|
new LocationMutator(new Circle(new SimpleParticle(Particle.REDSTONE, 0, 0, 0, 0, 1), 0.1, 1), location -> location.add(0, 2.0, 0))
|
||||||
|
))))
|
||||||
|
),
|
||||||
|
PLAYER_10697(new ParticleData(Material.GUNPOWDER, "PARTICLE_PLAYER_10697_AURA", ParticleRequirement.easterEventSpecificPlayer(10697),
|
||||||
new Always(new Sneaking(new Group(
|
new Always(new Sneaking(new Group(
|
||||||
new OnlySelf(new Delayed(new SimpleParticle(Particle.EXPLOSION_HUGE, 0, 0, 0, 0.01, 1), 20)),
|
new OnlySelf(new Delayed(new SimpleParticle(Particle.EXPLOSION_HUGE, 0, 0, 0, 0.01, 1), 20)),
|
||||||
new OnlyOthers(new Delayed(new SimpleParticle(Particle.EXPLOSION_HUGE, 0, 0, 0, 0.01, 1), 2))
|
new OnlyOthers(new Delayed(new SimpleParticle(Particle.EXPLOSION_HUGE, 0, 0, 0, 0.01, 1), 2))
|
||||||
))))
|
))))
|
||||||
),
|
),
|
||||||
Plompa(new ParticleData(Material.PUFFERFISH_BUCKET, "PARTICLE_PLAYER_PLOMPA", ParticleRequirement.specificPlayer(64),
|
PLAYER_64(new ParticleData(Material.PUFFERFISH_BUCKET, "PARTICLE_PLAYER_64", ParticleRequirement.easterEventSpecificPlayer(64),
|
||||||
new Always(new Delayed(new NonFlying(new Wing(new SimpleParticle(Particle.END_ROD, 0, 0, 0, 0, 1), 0.15, WingDesign.PlompaEasterWings)), 80)))
|
new Always(new Delayed(new NonFlying(new Wing(new SimpleParticle(Particle.END_ROD, 0, 0, 0, 0, 1), 0.15, WingDesign.PlompaEasterWings)), 80)))
|
||||||
),
|
),
|
||||||
Pulse_EASTER_1(new ParticleData(Material.RED_CANDLE, "PARTICLE_TEAM_PULSE_AURA_1", ParticleRequirement.easterEventSpecificTeam(210),
|
TEAM_210_1(new ParticleData(Material.RED_CANDLE, "PARTICLE_TEAM_PULSE_AURA", ParticleRequirement.easterEventSpecificTeam(210),
|
||||||
new Always(new NonMoving(new PulseShimmer(new SimpleParticle(Particle.FLAME, 0, 0, 0, 0, 1), 80, 2))))
|
new Always(new NonMoving(new PulseShimmer(new SimpleParticle(Particle.FLAME, 0, 0, 0, 0, 1), 80, 2))))
|
||||||
),
|
),
|
||||||
Pulse_EASTER_3(new ParticleData(Material.APPLE, "PARTICLE_TEAM_PULSE_HEART_BEAT", ParticleRequirement.easterEventSpecificTeam(210),
|
TEAM_210_2(new ParticleData(Material.APPLE, "PARTICLE_TEAM_PULSE_HEART_BEAT", ParticleRequirement.easterEventSpecificTeam(210),
|
||||||
new Always(new NonFlying(new HearthBeat(new SimpleParticle(Particle.FLAME, 0, 0, 0, 0, 1), 80))))
|
new Always(new NonFlying(new HearthBeat(new SimpleParticle(Particle.FLAME, 0, 0, 0, 0, 1), 80))))
|
||||||
),
|
),
|
||||||
|
PLAYER_153(new ParticleData(Material.OAK_SIGN, "PARTICLE_PLAYER_153", ParticleRequirement.easterEventSpecificPlayer(153),
|
||||||
|
new Always(new Delayed(new NonFlying(new Group(
|
||||||
|
new Wing(new SimpleParticle(Particle.VILLAGER_ANGRY, 0, 0, 0, 0, 1), 0.15, WingDesign.ELY_E),
|
||||||
|
new Wing(new SimpleParticle(Particle.COMPOSTER, 0, 0, 0, 0, 1), 0.15, WingDesign.ELY_L),
|
||||||
|
new Wing(new SimpleParticle(Particle.CRIT, 0, 0, 0, 0, 1), 0.15, WingDesign.ELY_Y)
|
||||||
|
)), 80)))
|
||||||
|
),
|
||||||
|
// TODO: Implement zSalos! -> Team
|
||||||
|
// TODO: Implement GroupXyz!
|
||||||
|
// TODO: Implement minecrafter_133 1817!
|
||||||
|
// TODO: Implement TheReaper22122!
|
||||||
|
// TODO: Implement Bosslar!
|
||||||
|
// TODO: Implement ATOM65!
|
||||||
|
PLAYER_3266(new ParticleData(Material.CHORUS_FRUIT, "PARTICLE_PLAYER_3266", ParticleRequirement.easterEventSpecificPlayer(3266),
|
||||||
|
new Always(new NonFlying(new Cloud(new LocationMutator(new TrippleCircle(
|
||||||
|
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
|
||||||
|
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
|
||||||
|
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
|
||||||
|
0.7,
|
||||||
|
0.5), location -> location.add(0, 1.2, 0)
|
||||||
|
)))))
|
||||||
|
),
|
||||||
|
// TODO: Implement Gehfxhler!
|
||||||
|
// TODO: Implement SchwarzerFuerst
|
||||||
|
// TODO: Implement byVallu
|
||||||
|
TEAM_158_1(new ParticleData(Material.ENCHANTED_BOOK, "PARTICLE_TEAM_158_1", ParticleRequirement.easterEventSpecificTeam(158),
|
||||||
|
new Always(new NonFlying(new Delayed(new Wing(new SimpleParticle(Particle.CRIT_MAGIC, 0, 0, 0, 0, 1), 0.2, WingDesign.EV), 80))))
|
||||||
|
),
|
||||||
|
TEAM_158_2(new ParticleData(Material.ENDER_EYE, "PARTICLE_TEAM_158_2", ParticleRequirement.easterEventSpecificTeam(158),
|
||||||
|
new Always(new NonFlying(new YOffset(new DoubleCircle(new SimpleParticle(Particle.SPORE_BLOSSOM_AIR, 0, 0, 0, 0, 1), new SimpleParticle(Particle.SPORE_BLOSSOM_AIR, 0, 0, 0, 0, 1), 0.5, 1), 1, 0, 2, false, false))))
|
||||||
|
),
|
||||||
;
|
;
|
||||||
public static ParticleEnum[] particles = values();
|
public static ParticleEnum[] particles = values();
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -16,8 +16,8 @@ public enum CustomPlayerParticle implements ParticleEnum {
|
|||||||
|
|
||||||
Haylim_(new ParticleData(Material.WHITE_CANDLE, "PARTICLE_PLAYER_HAYLIM_AURA", ParticleRequirement.specificPlayer(9426),
|
Haylim_(new ParticleData(Material.WHITE_CANDLE, "PARTICLE_PLAYER_HAYLIM_AURA", ParticleRequirement.specificPlayer(9426),
|
||||||
new Always(new NonMoving(new NonFlying(new Group(
|
new Always(new NonMoving(new NonFlying(new Group(
|
||||||
new DoubleCircle(new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.01, 5), 40, 0, 2, false), new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.0,5), 40, 0, 2, true)),
|
new DoubleCircle(new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.01, 5), 40, 0, 2, false, false), new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.0,5), 40, 0, 2, true, false)),
|
||||||
new DoubleCircle(new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.01, 5), 40, 0, 2, true), new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.0,5), 40, 0, 2, false))
|
new DoubleCircle(new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.01, 5), 40, 0, 2, true, false), new YOffset(new SimpleParticle(Particle.ENCHANTMENT_TABLE, 0, 0, 0, 0.0,5), 40, 0, 2, false, false))
|
||||||
)))))
|
)))))
|
||||||
),
|
),
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user