Search in sources :

Example 6 with Boss

use of com.skelril.openboss.Boss in project Skree by Skelril.

the class CatacombsInstance method spawnNormal.

private Boss<Zombie, CatacombsBossDetail> spawnNormal(Location<World> loc) {
    Zombie zombie = spawnZombie(loc);
    Boss<Zombie, CatacombsBossDetail> boss = new Boss<>(zombie, new CatacombsBossDetail(this, wave));
    List<Instruction<BindCondition, Boss<Zombie, CatacombsBossDetail>>> bindProcessor = boss.getBindProcessor();
    bindProcessor.add(new CatacombsHealthInstruction(20));
    bindProcessor.add(new NamedBindInstruction<>("Guardian Zombie"));
    return boss;
}
Also used : Boss(com.skelril.openboss.Boss) Zombie(org.spongepowered.api.entity.living.monster.Zombie) CatacombsHealthInstruction(com.skelril.skree.content.zone.group.catacombs.instruction.CatacombsHealthInstruction) Instruction(com.skelril.openboss.Instruction) CatacombsHealthInstruction(com.skelril.skree.content.zone.group.catacombs.instruction.CatacombsHealthInstruction)

Example 7 with Boss

use of com.skelril.openboss.Boss 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 8 with Boss

use of com.skelril.openboss.Boss 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 9 with Boss

use of com.skelril.openboss.Boss 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

Boss (com.skelril.openboss.Boss)9 ZoneBossDetail (com.skelril.skree.content.zone.ZoneBossDetail)5 Zombie (org.spongepowered.api.entity.living.monster.Zombie)5 Instruction (com.skelril.openboss.Instruction)4 CatacombsHealthInstruction (com.skelril.skree.content.zone.group.catacombs.instruction.CatacombsHealthInstruction)3 Entity (org.spongepowered.api.entity.Entity)3 Living (org.spongepowered.api.entity.living.Living)3 EntityDetail (com.skelril.openboss.EntityDetail)2 DamageTypes (org.spongepowered.api.event.cause.entity.damage.DamageTypes)2 EntityDamageSource (org.spongepowered.api.event.cause.entity.damage.source.EntityDamageSource)2 Vector3d (com.flowpowered.math.vector.Vector3d)1 Vector3i (com.flowpowered.math.vector.Vector3i)1 Lists (com.google.common.collect.Lists)1 Clause (com.skelril.nitro.Clause)1 EntityHealthPrinter (com.skelril.nitro.entity.EntityHealthPrinter)1 EntityHealthUtil (com.skelril.nitro.entity.EntityHealthUtil)1 CuboidContainmentPredicate (com.skelril.nitro.position.CuboidContainmentPredicate)1 Probability (com.skelril.nitro.probability.Probability)1 CombinedText (com.skelril.nitro.text.CombinedText)1 PlaceHolderText (com.skelril.nitro.text.PlaceHolderText)1