mirror of
https://github.com/Maxlego08/zKoth.git
synced 2024-06-28 10:44:53 +02:00
157 lines
6.4 KiB
Java
157 lines
6.4 KiB
Java
package fr.maxlego08.koth.listener;
|
|
|
|
import fr.maxlego08.koth.KothPlugin;
|
|
import fr.maxlego08.koth.zcore.utils.ZUtils;
|
|
import org.bukkit.entity.LivingEntity;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.entity.Projectile;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.EventPriority;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.block.BlockBreakEvent;
|
|
import org.bukkit.event.block.BlockPlaceEvent;
|
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
import org.bukkit.event.entity.EntityDeathEvent;
|
|
import org.bukkit.event.inventory.CraftItemEvent;
|
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
|
import org.bukkit.event.inventory.InventoryDragEvent;
|
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
import org.bukkit.event.player.PlayerGameModeChangeEvent;
|
|
import org.bukkit.event.player.PlayerInteractEvent;
|
|
import org.bukkit.event.player.PlayerJoinEvent;
|
|
import org.bukkit.event.player.PlayerMoveEvent;
|
|
import org.bukkit.event.player.PlayerPickupItemEvent;
|
|
import org.bukkit.event.player.PlayerQuitEvent;
|
|
|
|
@SuppressWarnings("deprecation")
|
|
public class AdapterListener extends ZUtils implements Listener {
|
|
|
|
private final KothPlugin plugin;
|
|
|
|
public AdapterListener(KothPlugin plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
@EventHandler
|
|
public void onConnect(PlayerJoinEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onConnect(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onQuit(PlayerQuitEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onQuit(event, event.getPlayer()));
|
|
}
|
|
|
|
|
|
@EventHandler
|
|
public void onMove(PlayerMoveEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onMove(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onInventoryClick(InventoryClickEvent event) {
|
|
this.plugin.getListenerAdapters()
|
|
.forEach(adapter -> adapter.onInventoryClick(event, (Player) event.getWhoClicked()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onBlockBreak(BlockBreakEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onBlockBreak(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onBlockPlace(BlockPlaceEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onBlockPlace(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onEntityDeath(EntityDeathEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onEntityDeath(event, event.getEntity()));
|
|
}
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST)
|
|
public void onInteract(PlayerInteractEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onInteract(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onPlayerTalk(AsyncPlayerChatEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onPlayerTalk(event, event.getMessage()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onCraftItem(CraftItemEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onCraftItem(event));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onDrag(InventoryDragEvent event) {
|
|
this.plugin.getListenerAdapters()
|
|
.forEach(adapter -> adapter.onInventoryDrag(event, (Player) event.getWhoClicked()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onClose(InventoryCloseEvent event) {
|
|
this.plugin.getListenerAdapters()
|
|
.forEach(adapter -> adapter.onInventoryClose(event, (Player) event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onCommand(PlayerCommandPreprocessEvent event) {
|
|
this.plugin.getListenerAdapters()
|
|
.forEach(adapter -> adapter.onCommand(event, event.getPlayer(), event.getMessage()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onGamemodeChange(PlayerGameModeChangeEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onGamemodeChange(event, event.getPlayer()));
|
|
}
|
|
|
|
/*
|
|
* @EventHandler public void onDrop(PlayerDropItemEvent event) {
|
|
* this.plugin.getListenerAdapters().forEach(adapter ->
|
|
* adapter.onDrop(event, event.getPlayer())); if (!Config.useItemFallEvent)
|
|
* return; Item item = event.getItemDrop(); AtomicBoolean hasSendEvent = new
|
|
* AtomicBoolean(false); scheduleFix(100, (task, isActive) -> { if
|
|
* (!isActive) return; this.plugin.getListenerAdapters().forEach(adapter ->
|
|
* adapter.onItemMove(event, event.getPlayer(), item, item.getLocation(),
|
|
* item.getLocation().getBlock())); if (item.isOnGround() &&
|
|
* !hasSendEvent.get()) { task.cancel(); hasSendEvent.set(true);
|
|
* this.plugin.getListenerAdapters().forEach( adapter ->
|
|
* adapter.onItemisOnGround(event, event.getPlayer(), item,
|
|
* item.getLocation())); } }); }
|
|
*/
|
|
|
|
@EventHandler
|
|
public void onPick(PlayerPickupItemEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onPickUp(event, event.getPlayer()));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onMobSpawn(CreatureSpawnEvent event) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onMobSpawn(event));
|
|
}
|
|
|
|
@EventHandler
|
|
public void onDamage(EntityDamageByEntityEvent event) {
|
|
|
|
if (event.getEntity() instanceof LivingEntity && event.getDamager() instanceof LivingEntity) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onDamageByEntity(event, event.getCause(),
|
|
event.getDamage(), (LivingEntity) event.getDamager(), (LivingEntity) event.getEntity()));
|
|
}
|
|
|
|
if (event.getEntity() instanceof Player && event.getDamager() instanceof Player) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onPlayerDamagaByPlayer(event, event.getCause(),
|
|
event.getDamage(), (Player) event.getDamager(), (Player) event.getEntity()));
|
|
}
|
|
|
|
if (event.getEntity() instanceof Player && event.getDamager() instanceof Projectile) {
|
|
this.plugin.getListenerAdapters().forEach(adapter -> adapter.onPlayerDamagaByArrow(event, event.getCause(),
|
|
event.getDamage(), (Projectile) event.getDamager(), (Player) event.getEntity()));
|
|
}
|
|
}
|
|
}
|