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 BlockBreakListener(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 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