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

66 lines
2 KiB
Java
Raw Normal View History

package dev.esophose.playerparticles.styles;
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.BlockPlaceEvent;
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.styles.api.PParticle;
import dev.esophose.playerparticles.styles.api.ParticleStyle;
public class ParticleStyleBlockPlace implements ParticleStyle, Listener {
public List<PParticle> getParticles(ParticlePair particle, Location location) {
List<PParticle> particles = new ArrayList<PParticle>();
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.75F, 0.75F, 0.75F, 0.05F));
return particles;
}
public void updateTimers() {
}
public String getName() {
return "blockplace";
}
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 onBlockPlace(BlockPlaceEvent event) {
Player player = event.getPlayer();
PPlayer pplayer = DataManager.getPPlayer(player.getUniqueId());
if (pplayer != null) {
for (ParticlePair particle : pplayer.getActiveParticlesForStyle(DefaultStyles.BLOCKPLACE)) {
Location loc = event.getBlock().getLocation().clone();
ParticleManager.displayParticles(particle, DefaultStyles.BLOCKPLACE.getParticles(particle, loc));
}
}
}
}