Search in sources :

Example 11 with Zombie

use of org.bukkit.entity.Zombie in project Village_Defense by Plajer.

the class ArenaEvents method onDeath.

private void onDeath(final Player player, Arena arena) {
    if (arena.getArenaState() == ArenaState.STARTING) {
        player.teleport(arena.getStartLocation());
        return;
    }
    if (arena.getArenaState() == ArenaState.ENDING || arena.getArenaState() == ArenaState.RESTARTING) {
        player.getInventory().clear();
        player.setFlying(false);
        player.setAllowFlight(false);
        User user = UserManager.getUser(player.getUniqueId());
        user.setInt("orbs", 0);
        player.teleport(arena.getEndLocation());
        return;
    }
    User user = UserManager.getUser(player.getUniqueId());
    arena.addStat(player, "deaths");
    arena.teleportToStartLocation(player);
    user.setSpectator(true);
    player.setGameMode(GameMode.SURVIVAL);
    user.setFakeDead(true);
    user.setInt("orbs", 0);
    ArenaUtils.hidePlayer(player, arena);
    player.setAllowFlight(true);
    player.getInventory().clear();
    MessageHandler.sendTitle(player, ChatColor.stripColor(ChatManager.formatMessage(arena, "In-Game.Death-Screen")), 0, 5 * 20, 0, ChatColor.RED);
    if (plugin.is1_9_R1() || plugin.is1_11_R1() || plugin.is1_12_R1()) {
        new BukkitRunnable() {

            @Override
            public void run() {
                if (user.isSpectator())
                    player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatManager.formatMessage(arena, ChatManager.colorMessage("In-Game.Died-Respawn-In-Next-Wave"))));
                else
                    this.cancel();
            }
        }.runTaskTimer(plugin, 20, 20);
    }
    ChatManager.broadcastDeathMessage(arena, player);
    arena.teleportToStartLocation(player);
    player.setAllowFlight(true);
    player.setFlying(true);
    ItemStack spectatorItem = new ItemStack(Material.COMPASS, 1);
    ItemMeta spectatorMeta = spectatorItem.getItemMeta();
    spectatorMeta.setDisplayName(ChatManager.colorMessage("In-Game.Spectator.Spectator-Item-Name"));
    spectatorItem.setItemMeta(spectatorMeta);
    player.getInventory().setItem(0, spectatorItem);
    player.getInventory().setItem(8, SpecialItemManager.getSpecialItem("Leave").getItemStack());
    // tryin to untarget dead player bcuz they will still target him
    for (Zombie zombie : arena.getZombies()) {
        if (zombie.getTarget() != null) {
            if (zombie.getTarget().equals(player)) {
                // set new target as villager so zombies won't stay still waiting for nothing
                for (Villager villager : arena.getVillagers()) {
                    zombie.setTarget(villager);
                }
            }
        }
    }
}
Also used : User(pl.plajer.villagedefense3.User) Zombie(org.bukkit.entity.Zombie) Villager(org.bukkit.entity.Villager) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) ItemStack(org.bukkit.inventory.ItemStack) ItemMeta(org.bukkit.inventory.meta.ItemMeta)

Example 12 with Zombie

use of org.bukkit.entity.Zombie in project Village_Defense by Plajer.

the class ArenaInitializer1_12_R1 method spawnHalfInvisibleZombie.

@Override
public void spawnHalfInvisibleZombie(Random random) {
    Location location = zombieSpawns.get(random.nextInt(zombieSpawns.size()));
    net.minecraft.server.v1_12_R1.World McWorld = ((CraftWorld) location.getWorld()).getHandle();
    FastZombie fastZombie = new FastZombie(location.getWorld());
    fastZombie.setPosition(location.getX(), location.getY(), location.getZ());
    McWorld.addEntity(fastZombie, CreatureSpawnEvent.SpawnReason.CUSTOM);
    Zombie zombie = (Zombie) fastZombie.getBukkitEntity();
    zombie.setRemoveWhenFarAway(false);
    zombie.getEquipment().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));
    zombie.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 1));
    CreatureUtils.applyHealthBar(zombie);
    this.addZombie((Zombie) fastZombie.getBukkitEntity());
    CreatureUtils.applyMetadata(fastZombie.getBukkitEntity(), this);
    super.subtractZombiesToSpawn();
}
Also used : FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) Zombie(org.bukkit.entity.Zombie) HardZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.HardZombie) FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) BabyZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie) TankerZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.TankerZombie) PotionEffect(org.bukkit.potion.PotionEffect) ItemStack(org.bukkit.inventory.ItemStack) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld) Location(org.bukkit.Location)

Example 13 with Zombie

use of org.bukkit.entity.Zombie in project Village_Defense by Plajer.

the class ArenaInitializer1_12_R1 method spawnGolemBuster.

public void spawnGolemBuster(Random random) {
    Location location = zombieSpawns.get(random.nextInt(zombieSpawns.size()));
    net.minecraft.server.v1_12_R1.World McWorld = ((CraftWorld) location.getWorld()).getHandle();
    GolemBuster fastZombie = new GolemBuster(location.getWorld());
    fastZombie.setPosition(location.getX(), location.getY(), location.getZ());
    McWorld.addEntity(fastZombie, CreatureSpawnEvent.SpawnReason.CUSTOM);
    Zombie zombie = (Zombie) fastZombie.getBukkitEntity();
    zombie.getEquipment().setHelmet(new ItemStack(Material.TNT));
    zombie.getEquipment().setHelmetDropChance(0.0F);
    zombie.getEquipment().setItemInHandDropChance(0F);
    zombie.setRemoveWhenFarAway(false);
    CreatureUtils.applyHealthBar(zombie);
    this.addZombie(zombie);
    CreatureUtils.applyMetadata(fastZombie.getBukkitEntity(), this);
    super.subtractZombiesToSpawn();
}
Also used : GolemBuster(pl.plajer.villagedefense3.creatures.v1_12_R1.GolemBuster) Zombie(org.bukkit.entity.Zombie) HardZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.HardZombie) FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) BabyZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie) TankerZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.TankerZombie) ItemStack(org.bukkit.inventory.ItemStack) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld) Location(org.bukkit.Location)

Example 14 with Zombie

use of org.bukkit.entity.Zombie in project Village_Defense by Plajer.

the class ArenaInitializer1_12_R1 method spawnFastZombie.

public void spawnFastZombie(Random random) {
    Location location = zombieSpawns.get(random.nextInt(zombieSpawns.size()));
    net.minecraft.server.v1_12_R1.World McWorld = ((CraftWorld) location.getWorld()).getHandle();
    FastZombie fastZombie = new FastZombie(location.getWorld());
    fastZombie.setPosition(location.getX(), location.getY(), location.getZ());
    McWorld.addEntity(fastZombie, CreatureSpawnEvent.SpawnReason.CUSTOM);
    Zombie zombie = (Zombie) fastZombie.getBukkitEntity();
    zombie.setRemoveWhenFarAway(false);
    CreatureUtils.applyHealthBar(zombie);
    this.addZombie((Zombie) fastZombie.getBukkitEntity());
    CreatureUtils.applyMetadata(fastZombie.getBukkitEntity(), this);
    super.subtractZombiesToSpawn();
}
Also used : FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) Zombie(org.bukkit.entity.Zombie) HardZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.HardZombie) FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) BabyZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie) TankerZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.TankerZombie) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld) Location(org.bukkit.Location)

Example 15 with Zombie

use of org.bukkit.entity.Zombie in project Village_Defense by Plajer.

the class ArenaInitializer1_12_R1 method spawnBabyZombie.

public void spawnBabyZombie(Random random) {
    Location location = zombieSpawns.get(random.nextInt(zombieSpawns.size()));
    net.minecraft.server.v1_12_R1.World McWorld = ((CraftWorld) location.getWorld()).getHandle();
    BabyZombie fastZombie = new BabyZombie(location.getWorld());
    fastZombie.setPosition(location.getX(), location.getY(), location.getZ());
    Zombie zombie = (Zombie) fastZombie.getBukkitEntity();
    CreatureUtils.applyHealthBar(zombie);
    zombie.setRemoveWhenFarAway(false);
    McWorld.addEntity(fastZombie, CreatureSpawnEvent.SpawnReason.CUSTOM);
    this.addZombie((Zombie) fastZombie.getBukkitEntity());
    CreatureUtils.applyMetadata(fastZombie.getBukkitEntity(), this);
    super.subtractZombiesToSpawn();
}
Also used : Zombie(org.bukkit.entity.Zombie) HardZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.HardZombie) FastZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie) BabyZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie) TankerZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.TankerZombie) BabyZombie(pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld) Location(org.bukkit.Location)

Aggregations

Zombie (org.bukkit.entity.Zombie)56 Location (org.bukkit.Location)39 ItemStack (org.bukkit.inventory.ItemStack)27 Player (org.bukkit.entity.Player)12 Entity (org.bukkit.entity.Entity)10 LivingEntity (org.bukkit.entity.LivingEntity)9 CraftWorld (org.bukkit.craftbukkit.v1_11_R1.CraftWorld)8 CraftWorld (org.bukkit.craftbukkit.v1_12_R1.CraftWorld)8 CraftWorld (org.bukkit.craftbukkit.v1_8_R3.CraftWorld)8 CraftWorld (org.bukkit.craftbukkit.v1_9_R1.CraftWorld)8 Ageable (org.bukkit.entity.Ageable)8 BabyZombie (pl.plajer.villagedefense3.creatures.v1_11_R1.BabyZombie)8 FastZombie (pl.plajer.villagedefense3.creatures.v1_11_R1.FastZombie)8 HardZombie (pl.plajer.villagedefense3.creatures.v1_11_R1.HardZombie)8 TankerZombie (pl.plajer.villagedefense3.creatures.v1_11_R1.TankerZombie)8 BabyZombie (pl.plajer.villagedefense3.creatures.v1_12_R1.BabyZombie)8 FastZombie (pl.plajer.villagedefense3.creatures.v1_12_R1.FastZombie)8 HardZombie (pl.plajer.villagedefense3.creatures.v1_12_R1.HardZombie)8 TankerZombie (pl.plajer.villagedefense3.creatures.v1_12_R1.TankerZombie)8 BabyZombie (pl.plajer.villagedefense3.creatures.v1_8_R3.BabyZombie)8