Added 3 new listeners
This commit is contained in:
parent
70251bbce7
commit
0140e5f293
|
|
@ -42,6 +42,9 @@ public class AltitudeParticles extends JavaPlugin {
|
||||||
pluginManager.registerEvents(new PlayerJoinListener(APartType.TRAIL, APartType.HEAD), this);
|
pluginManager.registerEvents(new PlayerJoinListener(APartType.TRAIL, APartType.HEAD), this);
|
||||||
pluginManager.registerEvents(new BlockBreakListener(APartType.BREAK_PLACE_BLOCK), this);
|
pluginManager.registerEvents(new BlockBreakListener(APartType.BREAK_PLACE_BLOCK), this);
|
||||||
pluginManager.registerEvents(new BlockPlaceListener(APartType.BREAK_PLACE_BLOCK), this);
|
pluginManager.registerEvents(new BlockPlaceListener(APartType.BREAK_PLACE_BLOCK), this);
|
||||||
|
pluginManager.registerEvents(new RightClickListener(APartType.CLICK_BLOCK), this);
|
||||||
|
pluginManager.registerEvents(new KillListener(APartType.ATTACK), this);
|
||||||
|
pluginManager.registerEvents(new TeleportArriveListener(APartType.TELEPORT_ARRIVE), this);
|
||||||
pluginManager.registerEvents(new DeathListener(APartType.DEATH), this);
|
pluginManager.registerEvents(new DeathListener(APartType.DEATH), this);
|
||||||
pluginManager.registerEvents(new GUIListener(), this);
|
pluginManager.registerEvents(new GUIListener(), this);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
45
src/main/java/com/alttd/listeners/KillListener.java
Normal file
45
src/main/java/com/alttd/listeners/KillListener.java
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.alttd.listeners;
|
||||||
|
|
||||||
|
import com.alttd.AltitudeParticles;
|
||||||
|
import com.alttd.objects.APartType;
|
||||||
|
import com.alttd.objects.ParticleSet;
|
||||||
|
import com.alttd.storage.PlayerSettings;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class KillListener implements Listener {
|
||||||
|
private final List<APartType> particlesToActivate;
|
||||||
|
|
||||||
|
public KillListener(APartType... particleTypes) {
|
||||||
|
particlesToActivate = List.of(particleTypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onKill(EntityDeathEvent event) {
|
||||||
|
if (event.isCancelled())
|
||||||
|
return;
|
||||||
|
Player player = event.getEntity().getKiller();
|
||||||
|
if (player == null)
|
||||||
|
return;
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
PlayerSettings playerSettings = PlayerSettings.getPlayer(player.getUniqueId());
|
||||||
|
if (!playerSettings.hasActiveParticles())
|
||||||
|
return;
|
||||||
|
particlesToActivate.forEach(aPartType -> {
|
||||||
|
ParticleSet particleSet = playerSettings.getParticles(aPartType);
|
||||||
|
if (particleSet == null)
|
||||||
|
return;
|
||||||
|
particleSet.run(event.getEntity().getLocation());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}.runTaskAsynchronously(AltitudeParticles.getInstance());
|
||||||
|
}
|
||||||
|
}
|
||||||
57
src/main/java/com/alttd/listeners/RightClickListener.java
Normal file
57
src/main/java/com/alttd/listeners/RightClickListener.java
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
package com.alttd.listeners;
|
||||||
|
|
||||||
|
import com.alttd.AltitudeParticles;
|
||||||
|
import com.alttd.objects.APartType;
|
||||||
|
import com.alttd.objects.ParticleSet;
|
||||||
|
import com.alttd.storage.PlayerSettings;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
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.Action;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.inventory.EquipmentSlot;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RightClickListener implements Listener {
|
||||||
|
|
||||||
|
private final List<APartType> particlesToActivate;
|
||||||
|
|
||||||
|
public RightClickListener(APartType... particleTypes) {
|
||||||
|
particlesToActivate = List.of(particleTypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onEmptyRightClick(PlayerInteractEvent event) {
|
||||||
|
EquipmentSlot hand = event.getHand();
|
||||||
|
if (hand == null || !hand.equals(EquipmentSlot.OFF_HAND) || !event.getAction().equals(Action.RIGHT_CLICK_BLOCK))
|
||||||
|
return;
|
||||||
|
ItemStack itemStack = event.getItem();
|
||||||
|
if (itemStack != null && !itemStack.getType().equals(Material.AIR))
|
||||||
|
return;
|
||||||
|
Block clickedBlock = event.getClickedBlock();
|
||||||
|
if (clickedBlock == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
PlayerSettings playerSettings = PlayerSettings.getPlayer(player.getUniqueId());
|
||||||
|
if (!playerSettings.hasActiveParticles())
|
||||||
|
return;
|
||||||
|
particlesToActivate.forEach(aPartType -> {
|
||||||
|
ParticleSet particleSet = playerSettings.getParticles(aPartType);
|
||||||
|
if (particleSet == null)
|
||||||
|
return;
|
||||||
|
particleSet.run(player.getLocation());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}.runTaskAsynchronously(AltitudeParticles.getInstance());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.alttd.listeners;
|
||||||
|
|
||||||
|
import com.alttd.AltitudeParticles;
|
||||||
|
import com.alttd.objects.APartType;
|
||||||
|
import com.alttd.objects.ParticleSet;
|
||||||
|
import com.alttd.storage.PlayerSettings;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TeleportArriveListener implements Listener {
|
||||||
|
private final List<APartType> particlesToActivate;
|
||||||
|
|
||||||
|
public TeleportArriveListener(APartType... particleTypes) {
|
||||||
|
particlesToActivate = List.of(particleTypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onTeleportArrive(PlayerTeleportEvent event) {
|
||||||
|
if (event.isCancelled())
|
||||||
|
return;
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
PlayerSettings playerSettings = PlayerSettings.getPlayer(player.getUniqueId());
|
||||||
|
if (!playerSettings.hasActiveParticles())
|
||||||
|
return;
|
||||||
|
particlesToActivate.forEach(aPartType -> {
|
||||||
|
ParticleSet particleSet = playerSettings.getParticles(aPartType);
|
||||||
|
if (particleSet == null)
|
||||||
|
return;
|
||||||
|
particleSet.run(event.getTo());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}.runTaskAsynchronously(AltitudeParticles.getInstance());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user