Added Minecraft 1.15 effects

This commit is contained in:
Esophose 2019-10-19 15:11:20 -06:00
parent da86916d32
commit eacb110068
3 changed files with 43 additions and 32 deletions

View file

@ -54,7 +54,9 @@ public enum ParticleEffect {
EXPLOSION("EXPLOSION_LARGE", "EXPLOSION_LARGE"),
EXPLOSION_EMITTER("EXPLOSION_HUGE", "EXPLOSION_HUGE"),
FALLING_DUST("FALLING_DUST", "FALLING_DUST", ParticleProperty.REQUIRES_MATERIAL_DATA),
FALLING_HONEY("FALLING_HONEY", null),
FALLING_LAVA("FALLING_LAVA", null),
FALLING_NECTAR("FALLING_NECTAR", null),
FALLING_WATER("FALLING_WATER", null),
FIREWORK("FIREWORKS_SPARK", "FIREWORKS_SPARK"),
FISHING("WATER_WAKE", "WATER_WAKE"),
@ -67,6 +69,7 @@ public enum ParticleEffect {
ITEM("ITEM_CRACK", "ITEM_CRACK", ParticleProperty.REQUIRES_MATERIAL_DATA),
ITEM_SLIME("SLIME", "SLIME"),
ITEM_SNOWBALL("SNOWBALL", "SNOWBALL"),
LANDING_HONEY("LANDING_HONEY", null),
LANDING_LAVA("LANDING_LAVA", null),
LARGE_SMOKE("SMOKE_LARGE", "SMOKE_LARGE"),
LAVA("LAVA", "LAVA"),

View file

@ -20,48 +20,48 @@ public class ParticleStylePulse implements ParticleStyle {
public List<PParticle> getParticles(ParticlePair particle, Location location) {
List<PParticle> particles = new ArrayList<PParticle>();
double speed = getSpeedByEffect(particle.getEffect());
if (step == 0) {
for (int i = 0; i < points; i++) {
double dx = Math.cos(Math.PI * 2 * ((double)i / points)) * radius;
double dx = Math.cos(Math.PI * 2 * ((double) i / points)) * radius;
double dy = -0.9;
double dz = Math.sin(Math.PI * 2 * ((double)i / points)) * radius;
double dz = Math.sin(Math.PI * 2 * ((double) i / points)) * radius;
double angle = Math.atan2(dz, dx);
double xAng = Math.cos(angle);
double zAng = Math.sin(angle);
particles.add(new PParticle(location.clone().add(dx, dy, dz), xAng, 0, zAng, speed, true));
}
}
return particles;
}
private double getSpeedByEffect(ParticleEffect effect) {
switch (effect) {
case CRIT:
case DAMAGE_INDICATOR:
case ENCHANTED_HIT:
return 1;
case DRAGON_BREATH:
return 0.01;
case ENCHANT:
case NAUTILUS:
case PORTAL:
return radius;
case END_ROD:
case SMOKE:
case SQUID_INK:
return 0.15;
case FIREWORK:
case SPIT:
case SPLASH:
return 0.25;
case POOF:
return 0.2;
case TOTEM_OF_UNDYING:
return 0.75;
default:
return 0.1; // Flame
case CRIT:
case DAMAGE_INDICATOR:
case ENCHANTED_HIT:
return 1;
case DRAGON_BREATH:
return 0.01;
case ENCHANT:
case NAUTILUS:
case PORTAL:
return radius;
case END_ROD:
case SMOKE:
case SQUID_INK:
return 0.15;
case FIREWORK:
case SPIT:
case SPLASH:
return 0.25;
case POOF:
return 0.2;
case TOTEM_OF_UNDYING:
return 0.75;
default:
return 0.1; // Flame
}
}
@ -76,11 +76,11 @@ public class ParticleStylePulse implements ParticleStyle {
public boolean canBeFixed() {
return true;
}
public boolean canToggleWithMovement() {
return true;
}
public double getFixedEffectOffset() {
return 0.5;
}