Search in sources :

Example 11 with ZoneBossDetail

use of com.skelril.skree.content.zone.ZoneBossDetail in project Skree by Skelril.

the class PatientXInstance method spawnBoss.

public void spawnBoss() {
    resetDifficulty();
    freezeBlocks(false);
    Zombie zombie = (Zombie) getRegion().getExtent().createEntity(EntityTypes.ZOMBIE, getRegion().getCenter());
    getRegion().getExtent().spawnEntity(zombie, Cause.source(SpawnCause.builder().type(SpawnTypes.PLUGIN).build()).build());
    Boss<Zombie, ZoneBossDetail<PatientXInstance>> boss = new Boss<>(zombie, new ZoneBossDetail<>(this));
    bossManager.bind(boss);
    this.boss = boss;
}
Also used : Boss(com.skelril.openboss.Boss) EntityZombie(net.minecraft.entity.monster.EntityZombie) Zombie(org.spongepowered.api.entity.living.monster.Zombie) ZoneBossDetail(com.skelril.skree.content.zone.ZoneBossDetail)

Example 12 with ZoneBossDetail

use of com.skelril.skree.content.zone.ZoneBossDetail in project Skree by Skelril.

the class DaBombBossManager method handleDamaged.

private void handleDamaged() {
    List<Instruction<DamagedCondition, Boss<Living, ZoneBossDetail<FreakyFourInstance>>>> damagedProcessor = getDamagedProcessor();
    damagedProcessor.add(new BackTeleportInstruction(config));
    damagedProcessor.add(new HealableInstruction());
}
Also used : Living(org.spongepowered.api.entity.living.Living) HealableInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealableInstruction) NamedBindInstruction(com.skelril.skree.content.zone.group.catacombs.instruction.bossmove.NamedBindInstruction) Instruction(com.skelril.openboss.Instruction) HealthBindInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealthBindInstruction) HealableInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealableInstruction) BackTeleportInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.BackTeleportInstruction) ZoneBossDetail(com.skelril.skree.content.zone.ZoneBossDetail) BackTeleportInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.BackTeleportInstruction)

Example 13 with ZoneBossDetail

use of com.skelril.skree.content.zone.ZoneBossDetail in project Skree by Skelril.

the class FrimusBossManager method handleUnbinds.

private void handleUnbinds() {
    List<Instruction<UnbindCondition, Boss<Living, ZoneBossDetail<FreakyFourInstance>>>> unbindProcessor = getUnbindProcessor();
    unbindProcessor.add(new FreakyFourBossDeath());
}
Also used : Living(org.spongepowered.api.entity.living.Living) FreakyFourBossDeath(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.FreakyFourBossDeath) NamedBindInstruction(com.skelril.skree.content.zone.group.catacombs.instruction.bossmove.NamedBindInstruction) Instruction(com.skelril.openboss.Instruction) HealthBindInstruction(com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealthBindInstruction) ZoneBossDetail(com.skelril.skree.content.zone.ZoneBossDetail)

Example 14 with ZoneBossDetail

use of com.skelril.skree.content.zone.ZoneBossDetail in project Skree by Skelril.

the class ShnugglesPrimeInstance method spawnBoss.

public void spawnBoss() {
    Giant spawned = (Giant) getRegion().getExtent().createEntity(EntityTypes.GIANT, getRegion().getCenter());
    getRegion().getExtent().spawnEntity(spawned, Cause.source(SpawnCause.builder().type(SpawnTypes.PLUGIN).build()).build());
    Boss<Giant, ZoneBossDetail<ShnugglesPrimeInstance>> boss = new Boss<>(spawned, new ZoneBossDetail<>(this));
    bossManager.bind(boss);
    this.boss = boss;
}
Also used : Boss(com.skelril.openboss.Boss) Giant(org.spongepowered.api.entity.living.monster.Giant) ZoneBossDetail(com.skelril.skree.content.zone.ZoneBossDetail)

Example 15 with ZoneBossDetail

use of com.skelril.skree.content.zone.ZoneBossDetail in project Skree by Skelril.

the class FreakyFourInstance method spawnBoss.

public void spawnBoss(FreakyFourBoss boss, long delay) {
    loadingBoss = true;
    Task.builder().execute(() -> {
        Entity entity = getRegion().getExtent().createEntity(boss.getEntityType(), getCenter(boss));
        getRegion().getExtent().spawnEntity(entity, Cause.source(SpawnCause.builder().type(SpawnTypes.PLUGIN).build()).build());
        Boss<Living, ZoneBossDetail<FreakyFourInstance>> aBoss = new Boss<>((Living) entity, new ZoneBossDetail<>(this));
        bossManagers.get(boss).bind(aBoss);
        bosses.put(boss, aBoss);
        loadingBoss = false;
    }).delayTicks(delay).submit(SkreePlugin.inst());
}
Also used : Entity(org.spongepowered.api.entity.Entity) Boss(com.skelril.openboss.Boss) Living(org.spongepowered.api.entity.living.Living) ZoneBossDetail(com.skelril.skree.content.zone.ZoneBossDetail)

Aggregations

ZoneBossDetail (com.skelril.skree.content.zone.ZoneBossDetail)15 Living (org.spongepowered.api.entity.living.Living)12 Instruction (com.skelril.openboss.Instruction)11 NamedBindInstruction (com.skelril.skree.content.zone.group.catacombs.instruction.bossmove.NamedBindInstruction)10 HealthBindInstruction (com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealthBindInstruction)10 BackTeleportInstruction (com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.BackTeleportInstruction)6 HealableInstruction (com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.HealableInstruction)6 Boss (com.skelril.openboss.Boss)4 FreakyFourBossDeath (com.skelril.skree.content.zone.group.freakyfour.boss.bossmove.FreakyFourBossDeath)4 Entity (org.spongepowered.api.entity.Entity)4 CaveSpider (org.spongepowered.api.entity.living.monster.CaveSpider)2 PlayerCombatParser (com.skelril.nitro.combat.PlayerCombatParser)1 FreakyFourInstance (com.skelril.skree.content.zone.group.freakyfour.FreakyFourInstance)1 EntityZombie (net.minecraft.entity.monster.EntityZombie)1 ArmorEquipable (org.spongepowered.api.entity.ArmorEquipable)1 Giant (org.spongepowered.api.entity.living.monster.Giant)1 Zombie (org.spongepowered.api.entity.living.monster.Zombie)1 Player (org.spongepowered.api.entity.living.player.Player)1 IndirectEntityDamageSource (org.spongepowered.api.event.cause.entity.damage.source.IndirectEntityDamageSource)1 DamageEntityEvent (org.spongepowered.api.event.entity.DamageEntityEvent)1