Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.dave_911.FFA.Listener;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.Color;
- import org.bukkit.Effect;
- import org.bukkit.FireworkEffect;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Firework;
- import org.bukkit.entity.Item;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.FireworkMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import de.dave_911.FFA.FFA;
- import de.dave_911.Coins.Coins;
- import de.dave_911.FFA.MySQL.MySQL;
- import net.minecraft.server.v1_8_R3.PacketPlayInClientCommand;
- import net.minecraft.server.v1_8_R3.PacketPlayInClientCommand.EnumClientCommand;
- public class PlayerDeathListener implements Listener {
- @EventHandler
- public void onMove(PlayerMoveEvent event)
- {
- if (((event.getPlayer() instanceof Player)) && (event.getPlayer() != null) &&
- (!event.getPlayer().isDead()) &&
- (event.getPlayer().getLocation().getY() < 50.0D))
- {
- World w = Bukkit.getWorld(Lobby.cfg.getString("Spawn.World"));
- double x = Lobby.cfg.getDouble("Spawn.X");
- double y = Lobby.cfg.getDouble("Spawn.Y");
- double z = Lobby.cfg.getDouble("Spawn.Z");
- float yaw = (float)Lobby.cfg.getDouble("Spawn.Yaw");
- float pitch = (float)Lobby.cfg.getDouble("Spawn.Pitch");
- Location spawn = new Location(w, x, y, z, yaw, pitch);
- spawn.getChunk().load();
- event.getPlayer().teleport(spawn);
- }
- }
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent e) {
- final Player p = e.getEntity();
- final Player k = e.getEntity().getKiller();
- e.setDeathMessage(null);
- e.getDrops().clear();
- final ArrayList<Item> drops = new ArrayList<Item>();
- for (ItemStack items : (ItemStack[]) p.getInventory().getContents().clone()) {
- if (items != null && items.getType() != Material.AIR) {
- Item item = p.getLocation().getWorld().dropItemNaturally(p.getLocation(), items);
- drops.add(item);
- }
- }
- for (ItemStack armor : (ItemStack[]) p.getInventory().getArmorContents().clone()) {
- if (armor != null && armor.getType() != Material.AIR) {
- Item item = p.getLocation().getWorld().dropItemNaturally(p.getLocation(), armor);
- drops.add(item);
- }
- }
- Bukkit.getScheduler().scheduleSyncDelayedTask(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- for (Item items : drops) {
- for (Player players : Bukkit.getOnlinePlayers()) {
- players.spigot().playEffect(items.getLocation(), Effect.PARTICLE_SMOKE, 1, 1, 0, 0, 0, 0, 16, 16);
- }
- items.remove();
- }
- drops.clear();
- }
- }, 40);
- if (p.getLastDamageCause().getCause().equals(DamageCause.ENTITY_ATTACK) | p.getLastDamageCause().getCause().equals(DamageCause.PROJECTILE)) {
- if (p != k) {
- if (((CraftPlayer) k).getHealth() != 20.0) {
- p.sendMessage(FFA.prefix + "§7Du wurdest von " + k.getDisplayName() + " §7getötet.");
- k.sendMessage(FFA.prefix + "§7Du hast " + p.getDisplayName() + " §7getötet");
- } else {
- p.sendMessage(FFA.prefix + "§7Du wurdest von " + k.getDisplayName() + " §7getötet.");
- k.sendMessage(FFA.prefix + "§7Du hast " + p.getDisplayName() + " §7getötet");
- }
- FFA.kills.put(p, 0);
- FFA.kills.put(k, FFA.kills.get(k) + 1);
- p.playSound(p.getLocation(), Sound.VILLAGER_DEATH, 1, 1);
- k.playSound(k.getLocation(), Sound.LEVEL_UP, 1, 1);
- p.getWorld().playEffect(p.getLocation(), Effect.LAVA_POP, 4);
- if (FFA.kit == 1) {
- ItemStack IS = new ItemStack(Material.STICK, 1);
- ItemStack FR = new ItemStack(Material.FISHING_ROD, 1);
- ItemMeta ISMeta = IS.getItemMeta();
- ISMeta.addEnchant(Enchantment.KNOCKBACK, 1, false);
- ISMeta.spigot().setUnbreakable(true);
- IS.setItemMeta(ISMeta);
- ItemMeta FRMeta = FR.getItemMeta();
- FRMeta.spigot().setUnbreakable(true);
- FR.setItemMeta(FRMeta);
- k.getInventory().clear();
- k.getInventory().setItem(0, IS);
- k.getInventory().setItem(1, FR);
- k.updateInventory();
- }
- k.setLevel(FFA.kills.get(k));
- k.sendMessage(FFA.prefix + "§a+ §e10 Coins");
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- MySQL.addDeath(p);
- MySQL.addKill(k);
- Coins.addCoins(k, 10);
- }
- });
- if (FFA.kills.get(k) == 5 | FFA.kills.get(k) == 10 | FFA.kills.get(k) == 15 | FFA.kills.get(k) == 20 | FFA.kills.get(k) == 25 | FFA.kills.get(k) == 30 | FFA.kills.get(k) == 35 | FFA.kills.get(k) == 40 | FFA.kills.get(k) == 45 | FFA.kills.get(k) == 50) {
- Firework fw = (Firework) k.getWorld().spawnEntity(k.getLocation(), EntityType.FIREWORK);
- FireworkMeta fwmeta = fw.getFireworkMeta();
- FireworkEffect.Builder fwbuilder = FireworkEffect.builder();
- fwbuilder.withTrail();
- fwbuilder.withFlicker();
- fwbuilder.withFade(Color.ORANGE);
- fwbuilder.withColor(Color.YELLOW);
- fwbuilder.withColor(Color.RED);
- fwbuilder.with(FireworkEffect.Type.BALL_LARGE);
- fwmeta.addEffects(fwbuilder.build());
- fwmeta.setPower(1);
- fw.setFireworkMeta(fwmeta);
- Bukkit.broadcastMessage(FFA.prefix + k.getDisplayName() + " §7hat eine §e" + FFA.kills.get(k) + "er §7Killstreak.");
- final int bonus = 50;
- k.sendMessage(FFA.prefix + "§a+ §e" + bonus + " Coins");
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- Coins.addCoins(k, bonus);
- }
- });
- }
- } else {
- p.sendMessage(FFA.prefix + "§cDu hast Selbstmord begangen.");
- FFA.kills.put(p, 0);
- p.playSound(p.getLocation(), Sound.VILLAGER_DEATH, 1, 1);
- p.getWorld().playEffect(p.getLocation(), Effect.LAVA_POP, 4);
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- MySQL.addDeath(p);
- }
- });
- }
- } else {
- //TODO ---------------------------v------------v Hier fix v------------v
- if (FFA.target.get(p) != null && FFA.kills.containsKey(FFA.target.get(p)) && !FFA.spectator.contains(FFA.target.get(p))) {
- final Player k2 = FFA.target.get(p);
- if (((CraftPlayer) k2).getHealth() != 20.0) {
- p.sendMessage(FFA.prefix + "§7Du wurdest von " + k2.getDisplayName() + " §7getötet.");
- k2.sendMessage(FFA.prefix + "§7Du hast " + p.getDisplayName() + " §7getötet");
- } else {
- p.sendMessage(FFA.prefix + "§7Du wurdest von " + k2.getDisplayName() + " §7getötet.");
- k2.sendMessage(FFA.prefix + "§7Du hast " + p.getDisplayName() + " §7getötet");
- }
- FFA.kills.put(p, 0);
- //TODO Hier NullPointer
- FFA.kills.put(k2, FFA.kills.get(k2) + 1);
- p.playSound(p.getLocation(), Sound.VILLAGER_DEATH, 1, 1);
- k2.playSound(k2.getLocation(), Sound.LEVEL_UP, 1, 1);
- p.getWorld().playEffect(p.getLocation(), Effect.LAVA_POP, 4);
- if (FFA.kit == 1) {
- ItemStack IS = new ItemStack(Material.STICK, 1);
- ItemStack FR = new ItemStack(Material.FISHING_ROD, 1);
- ItemMeta ISMeta = IS.getItemMeta();
- ISMeta.addEnchant(Enchantment.KNOCKBACK, 1, false);
- ISMeta.spigot().setUnbreakable(true);
- IS.setItemMeta(ISMeta);
- ItemMeta FRMeta = FR.getItemMeta();
- FRMeta.spigot().setUnbreakable(true);
- FR.setItemMeta(FRMeta);
- k2.getInventory().clear();
- k2.getInventory().setItem(0, IS);
- k2.getInventory().setItem(1, FR);
- k2.updateInventory();
- }
- k2.setLevel(FFA.kills.get(k2));
- k2.sendMessage(FFA.prefix + "§a+ §e10 Coins");
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- MySQL.addDeath(p);
- MySQL.addKill(k2);
- Coins.addCoins(k2, 10);
- }
- });
- if (FFA.kills.get(k2) == 5 | FFA.kills.get(k2) == 10 | FFA.kills.get(k2) == 15 | FFA.kills.get(k2) == 20 | FFA.kills.get(k2) == 25 | FFA.kills.get(k2) == 30 | FFA.kills.get(k2) == 35 | FFA.kills.get(k2) == 40 | FFA.kills.get(k2) == 45 | FFA.kills.get(k2) == 50) {
- Firework fw = (Firework) k2.getWorld().spawnEntity(k2.getLocation(), EntityType.FIREWORK);
- FireworkMeta fwmeta = fw.getFireworkMeta();
- FireworkEffect.Builder fwbuilder = FireworkEffect.builder();
- fwbuilder.withTrail();
- fwbuilder.withFlicker();
- fwbuilder.withFade(Color.ORANGE);
- fwbuilder.withColor(Color.YELLOW);
- fwbuilder.withColor(Color.RED);
- fwbuilder.with(FireworkEffect.Type.BALL_LARGE);
- fwmeta.addEffects(fwbuilder.build());
- fwmeta.setPower(1);
- fw.setFireworkMeta(fwmeta);
- Bukkit.broadcastMessage(FFA.prefix + k2.getDisplayName() + " §7hat eine §e" + FFA.kills.get(k2) + "er §7Killstreak.");
- final int bonus = 10;
- k2.sendMessage(FFA.prefix + "§a+ §e" + bonus + " Coins");
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- Coins.addCoins(k2, bonus);
- }
- });
- }
- } else {
- p.sendMessage(FFA.prefix + "§cDu bist gestorben.");
- FFA.kills.put(p, 0);
- p.playSound(p.getLocation(), Sound.VILLAGER_DEATH, 1, 1);
- p.getWorld().playEffect(p.getLocation(), Effect.LAVA_POP, 4);
- Bukkit.getScheduler().runTaskAsynchronously(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- MySQL.addDeath(p);
- }
- });
- }
- }
- FFA.target.put(FFA.target.get(p), null);
- FFA.target.put(p, null);
- Bukkit.getScheduler().scheduleSyncDelayedTask(FFA.plugin, new Runnable() {
- @Override
- public void run() {
- if (p.isOnline()) {
- ((CraftPlayer) p).getHandle().playerConnection.a(new PacketPlayInClientCommand(EnumClientCommand.PERFORM_RESPAWN));
- }
- }
- }, 5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement