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

67 lines
2.2 KiB
Java
Raw Normal View History

package dev.esophose.playerparticles.styles;
2019-12-12 19:32:53 -07:00
import dev.esophose.playerparticles.PlayerParticles;
import dev.esophose.playerparticles.config.CommentedFileConfiguration;
2019-12-12 19:32:53 -07:00
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;
2019-12-12 19:32:53 -07:00
import dev.esophose.playerparticles.particles.PPlayer;
import dev.esophose.playerparticles.particles.ParticlePair;
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;
public class ParticleStyleBlockPlace extends DefaultParticleStyle implements Listener {
public ParticleStyleBlockPlace() {
super("blockplace", false, false, 0);
}
@Override
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.75F, 0.75F, 0.75F, 0.05F));
return particles;
}
@Override
public void updateTimers() {
}
@Override
protected void setDefaultSettings(CommentedFileConfiguration config) {
}
@Override
protected void loadSettings(CommentedFileConfiguration config) {
2018-12-01 19:34:01 -07:00
}
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockPlace(BlockPlaceEvent 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.BLOCKPLACE)) {
Location loc = event.getBlock().getLocation().clone();
particleManager.displayParticles(player, particle, DefaultStyles.BLOCKPLACE.getParticles(particle, loc));
}
}
}
}