PlayerParticles/src/main/java/dev/esophose/playerparticles/styles/ParticleStyleBlockBreak.java

66 lines
2.1 KiB
Java
Raw Normal View History

package dev.esophose.playerparticles.styles;
import dev.esophose.playerparticles.PlayerParticles;
import dev.esophose.playerparticles.manager.DataManager;
import dev.esophose.playerparticles.manager.ParticleManager;
2020-01-05 17:26:45 -07:00
import dev.esophose.playerparticles.particles.PParticle;
import dev.esophose.playerparticles.particles.PPlayer;
import dev.esophose.playerparticles.particles.ParticlePair;
2019-12-12 19:32:53 -07:00
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
public class ParticleStyleBlockBreak implements ParticleStyle, Listener {
public List<PParticle> getParticles(ParticlePair particle, Location location) {
2019-12-12 19:32:53 -07:00
List<PParticle> particles = new ArrayList<>();
location.add(0.5, 0.5, 0.5); // Center around the block
2019-01-26 00:34:50 -07:00
for (int i = 0; i < 10; i++)
particles.add(new PParticle(location, 0.5F, 0.5F, 0.5F, 0.05F));
return particles;
}
public void updateTimers() {
}
public String getName() {
return "blockbreak";
}
public boolean canBeFixed() {
return false;
}
public boolean canToggleWithMovement() {
return false;
}
2018-12-01 19:34:01 -07:00
public double getFixedEffectOffset() {
return 0;
}
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockBreak(BlockBreakEvent event) {
ParticleManager particleManager = PlayerParticles.getInstance().getManager(ParticleManager.class);
Player player = event.getPlayer();
PPlayer pplayer = PlayerParticles.getInstance().getManager(DataManager.class).getPPlayer(player.getUniqueId());
if (pplayer != null) {
for (ParticlePair particle : pplayer.getActiveParticlesForStyle(DefaultStyles.BLOCKBREAK)) {
Location loc = event.getBlock().getLocation().clone();
particleManager.displayParticles(particle, DefaultStyles.BLOCKBREAK.getParticles(particle, loc));
}
}
}
}