92 lines
3.9 KiB
Java
92 lines
3.9 KiB
Java
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());
|
|
}
|
|
}
|
|
}
|
|
|
|
} |