PlayerParticles/src/main/java/dev/esophose/playerparticles/styles/ParticleStyleMove.java
2019-12-12 19:32:53 -07:00

56 lines
1.8 KiB
Java

package dev.esophose.playerparticles.styles;
import dev.esophose.playerparticles.PlayerParticles;
import dev.esophose.playerparticles.manager.DataManager;
import dev.esophose.playerparticles.manager.ParticleManager;
import dev.esophose.playerparticles.particles.PPlayer;
import dev.esophose.playerparticles.particles.ParticlePair;
import dev.esophose.playerparticles.particles.PParticle;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
public class ParticleStyleMove implements ParticleStyle, Listener {
public List<PParticle> getParticles(ParticlePair particle, Location location) {
return DefaultStyles.NORMAL.getParticles(particle, location);
}
public void updateTimers() {
}
public String getName() {
return "move";
}
public boolean canBeFixed() {
return false;
}
public boolean canToggleWithMovement() {
return false;
}
public double getFixedEffectOffset() {
return 0;
}
@EventHandler(priority = EventPriority.MONITOR)
public void onPlayerMove(PlayerMoveEvent e) {
ParticleManager particleManager = PlayerParticles.getInstance().getManager(ParticleManager.class);
PPlayer pplayer = PlayerParticles.getInstance().getManager(DataManager.class).getPPlayer(e.getPlayer().getUniqueId());
if (pplayer != null) {
for (ParticlePair particle : pplayer.getActiveParticlesForStyle(DefaultStyles.MOVE)) {
Location loc = e.getPlayer().getLocation().clone();
loc.setY(loc.getY() + 0.05);
particleManager.displayParticles(particle, DefaultStyles.MOVE.getParticles(particle, loc));
}
}
}
}