package eu.univento.trashgames.listeners; import eu.univento.core.api.Utils; import eu.univento.core.api.game.PlayerManager; import eu.univento.core.api.player.CustomPlayer; import eu.univento.trashgames.TrashGames; import eu.univento.trashgames.game.GameState; import org.bukkit.Bukkit; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.entity.ProjectileLaunchEvent; import org.bukkit.event.player.PlayerRespawnEvent; import java.util.Random; /** * @author joethei * @version 0.1 */ public class PlayerEvents implements Listener{ @EventHandler public void onDeath(PlayerDeathEvent e) { CustomPlayer p = CustomPlayer.getPlayer(e.getEntity()); if(PlayerManager.contains(p)) { PlayerManager.remove(p); TrashGames.setState(GameState.RESTART); Bukkit.broadcastMessage(PlayerManager.getPlayers().get(0).getDisplayName() + " hat gewonnen"); PlayerManager.getPlayers().get(0).getDatabasePlayer().addCoins(50); } } @EventHandler public void onRespawn(PlayerRespawnEvent e) { if(PlayerManager.size() == 1) Utils.restart(); } @EventHandler public void onDamage(EntityDamageEvent e) { if(e.getEntity() instanceof Player) { CustomPlayer p = CustomPlayer.getPlayer((Player) e.getEntity()); p.sendMessage(String.valueOf(p.getHealth())); p.sendMessage("DamageModifer.Armor: " + e.getDamage(EntityDamageEvent.DamageModifier.ARMOR)); p.sendMessage("DamageModifier.Blocking: " + e.getDamage(EntityDamageEvent.DamageModifier.BLOCKING)); } } @EventHandler public void onShoot(ProjectileLaunchEvent e) { Projectile projectile = e.getEntity(); projectile.setGravity(false); projectile.setCustomName("Hallo du"); projectile.setCustomNameVisible(true); } @EventHandler public void onDamageByEntity(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player) { CustomPlayer p = CustomPlayer.getPlayer((Player) e.getEntity()); if(e.getDamager() instanceof Player) { CustomPlayer t = CustomPlayer.getPlayer((Player) e.getDamager()); if(e.getDamager().getLocation().getY() - t.getLocation().getY() > 1.35D) { e.setDamage(e.getDamage() * 5D); p.sendMessage("§4Head§6Shoot"); } p.sendMessage("Du hast was abgekriegt von " + t.getDatabasePlayer().getRank().getColor() + t.getDisplayName()); p.setArrowsInBody(new Random().nextInt(50)); } if(e.getDamager() instanceof Arrow) { Arrow arrow = (Arrow) e.getDamager(); CustomPlayer shooter = CustomPlayer.getPlayer((Player) arrow.getShooter()); arrow.setBounce(true); p.sendMessage("Der Pfeil kam von " + shooter.getDatabasePlayer().getRank().getColor() + shooter.getDisplayName()); } if(e.getDamager() instanceof SpectralArrow) { SpectralArrow arrow = (SpectralArrow) e.getDamager(); CustomPlayer shooter = CustomPlayer.getPlayer((Player) arrow.getShooter()); p.sendMessage("Du bist nun erleuchtet worden von " + shooter.getDatabasePlayer().getRank().getColor() + shooter.getDisplayName()); } if(e.getDamager() instanceof FishHook) { FishHook hook = (FishHook) e.getDamager(); CustomPlayer shooter = CustomPlayer.getPlayer((Player) hook.getShooter()); p.sendMessage("Du wurdest geangelt von " + shooter.getDatabasePlayer().getRank().getColor() + shooter.getDisplayName()); } } } }