diff options
Diffstat (limited to 'src/main')
3 files changed, 125 insertions, 35 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java index daff59d0..0d79c67d 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java @@ -3,10 +3,7 @@ package kr.syeyoung.dungeonsguide.dungeon.doorfinder; import com.google.common.base.Predicate; import com.google.common.collect.Sets; import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessor; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorBonzo; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorLivid; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.GeneralBossfightProcessor; +import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.*; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; @@ -78,37 +75,10 @@ public class CatacombDataProvider implements DungeonSpecificDataProvider { public BossfightProcessor createBossfightProcessor(World w, String dungeonName) { String floor = dungeonName.substring(14).trim(); e.sendDebugChat(new ChatComponentText("Floor: "+floor+ " Building bossfight processor")); -// if (floor.equals("F2")) { -// GeneralBossfightProcessor bossfightProcessor = new GeneralBossfightProcessor(); -// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() -// .phase("start") -// .signatureMsg("§r§c[BOSS] Scarf§r§f: This is where the journey ends for you, Adventurers.§r") -// .nextPhase("fight-1").build() -// ); -// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() -// .phase("fight-1") -// .signatureMsg("§r§c[BOSS] Scarf§r§f: ARISE, MY CREATIONS!§r") -// .nextPhase("first-defeat").build() -// ); -// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() -// .phase("first-defeat") -// .signatureMsg("§r§c[BOSS] Scarf§r§f: Those toys are not strong enough I see.§r") -// .nextPhase("fight-2").build() -// ); -// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() -// .phase("fight-2") -// .signatureMsg("§r§c[BOSS] Scarf§r§f: Did you forget? I was taught by the best! Let's dance.§r") -// .nextPhase("final-defeat").build() -// ); -// bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() -// .phase("final-defeat") -// .signatureMsg("§r§c[BOSS] Scarf§r§f: Whatever...§r").build() -// ); -// return bossfightProcessor; - if (false) { + if (floor.equals("F2")) { + return new BossfightProcessorScarf(); } else if (floor.equals("F1")) { - GeneralBossfightProcessor bossfightProcessor = new BossfightProcessorBonzo(); - return bossfightProcessor; + return new BossfightProcessorBonzo(); // } else if (floor.equals("F3")) { // GeneralBossfightProcessor bossfightProcessor = new GeneralBossfightProcessor(); // bossfightProcessor.addPhase(GeneralBossfightProcessor.PhaseData.builder() diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java index 56957135..a1d048f5 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java @@ -53,8 +53,10 @@ public class BossfightProcessorBonzo extends GeneralBossfightProcessor { private EntityArmorStand bonzoStand; @Override + // §e﴾ §c§lBonzo§r §e71k§c❤ §e﴿ + // §e﴾ §c§lBonzo§r §a250k§c❤ §e﴿ public void onEntitySpawn(LivingEvent.LivingUpdateEvent updateEvent) { - if (updateEvent.entityLiving.getName().startsWith("§c§lBonzo§r ") && updateEvent.entityLiving instanceof EntityArmorStand) { + if (updateEvent.entityLiving.getName().startsWith("§e﴾ §c§lBonzo§r ") && updateEvent.entityLiving instanceof EntityArmorStand) { System.out.println(updateEvent.entityLiving.getName()); bonzoStand = (EntityArmorStand) updateEvent.entityLiving; } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java new file mode 100644 index 00000000..03e6a816 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java @@ -0,0 +1,118 @@ +package kr.syeyoung.dungeonsguide.roomprocessor.bossfight; + +import kr.syeyoung.dungeonsguide.utils.TextUtils; +import net.minecraft.entity.item.EntityArmorStand; +import net.minecraftforge.event.entity.living.LivingEvent; + +import java.util.ArrayList; +import java.util.List; + +public class BossfightProcessorScarf extends GeneralBossfightProcessor { + public BossfightProcessorScarf() { + addPhase(GeneralBossfightProcessor.PhaseData.builder() + .phase("start") + .signatureMsg("§r§c[BOSS] Scarf§r§f: This is where the journey ends for you, Adventurers.§r") + .nextPhase("fight-1").build() + ); + addPhase(GeneralBossfightProcessor.PhaseData.builder() + .phase("fight-1") + .signatureMsg("§r§c[BOSS] Scarf§r§f: ARISE, MY CREATIONS!§r") + .nextPhase("first-defeat").build() + ); + addPhase(GeneralBossfightProcessor.PhaseData.builder() + .phase("first-defeat") + .signatureMsg("§r§c[BOSS] Scarf§r§f: Those toys are not strong enough I see.§r") + .nextPhase("fight-2").build() + ); + addPhase(GeneralBossfightProcessor.PhaseData.builder() + .phase("fight-2") + .signatureMsg("§r§c[BOSS] Scarf§r§f: Did you forget? I was taught by the best! Let's dance.§r") + .nextPhase("final-defeat").build() + ); + addPhase(GeneralBossfightProcessor.PhaseData.builder() + .phase("final-defeat") + .signatureMsg("§r§c[BOSS] Scarf§r§f: Whatever...§r").build() + ); + } + + +/*§6§4§lUndead Archer §e0§c❤ + §6§4§lUndead Mage §a366k§c❤ + §6§4§lUndead Priest §e180k§c❤ + §6§4§lUndead Warrior §e189k§c❤ + §e﴾ §c§lScarf§r §a1M§c❤ §e﴿*/ + + @Override + public List<HealthData> getHealths() { + List<HealthData> healths = new ArrayList<HealthData>(); + { + long health = 0; + if (scarfStand != null) { + String name = TextUtils.stripColor(scarfStand.getName()); + String healthPart = name.split(" ")[2]; + health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); + } + healths.add(new HealthData("Scarf", (int) health, 1000000, this.getCurrentPhase().equals("fight-2"))); + } + if (!getCurrentPhase().equals("start") && !getCurrentPhase().equals("final-defeat")) { + { + long health = 0; + if (priestStand != null) { + String name = TextUtils.stripColor(priestStand.getName()); + String healthPart = name.split(" ")[2]; + health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); + } + healths.add(new HealthData("Undead Priest", (int) health, 600000, this.getCurrentPhase().startsWith("fight-"))); + } + { + long health = 0; + if (berserkStand != null) { + String name = TextUtils.stripColor(berserkStand.getName()); + String healthPart = name.split(" ")[2]; + health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); + } + healths.add(new HealthData("Undead Warrior", (int) health, 500000, this.getCurrentPhase().startsWith("fight-"))); + } + { + long health = 0; + if (mageStand != null) { + String name = TextUtils.stripColor(mageStand.getName()); + String healthPart = name.split(" ")[2]; + health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); + } + healths.add(new HealthData("Undead Mage", (int) health, 400000, this.getCurrentPhase().startsWith("fight-"))); + } + { + long health = 0; + if (archerStand != null) { + String name = TextUtils.stripColor(archerStand.getName()); + String healthPart = name.split(" ")[2]; + health = TextUtils.reverseFormat(healthPart.substring(0, healthPart.length() - 1)); + } + healths.add(new HealthData("Undead Archer", (int) health, 400000, this.getCurrentPhase().startsWith("fight-"))); + } + } + return healths; + } + + private EntityArmorStand scarfStand; + private EntityArmorStand priestStand; + private EntityArmorStand mageStand; + private EntityArmorStand berserkStand; + private EntityArmorStand archerStand; + @Override + public void onEntitySpawn(LivingEvent.LivingUpdateEvent updateEvent) { + if (updateEvent.entityLiving instanceof EntityArmorStand) { + if (updateEvent.entityLiving.getName().startsWith("§e﴾ §c§lScarf§r ")) + scarfStand = (EntityArmorStand) updateEvent.entityLiving; + else if (updateEvent.entityLiving.getName().startsWith("§6§4§lUndead Archer ")) + archerStand = (EntityArmorStand) updateEvent.entityLiving; + else if (updateEvent.entityLiving.getName().startsWith("§6§4§lUndead Mage ")) + mageStand = (EntityArmorStand) updateEvent.entityLiving; + else if (updateEvent.entityLiving.getName().startsWith("§6§4§lUndead Priest ")) + priestStand = (EntityArmorStand) updateEvent.entityLiving; + else if (updateEvent.entityLiving.getName().startsWith("§6§4§lUndead Warrior ")) + berserkStand = (EntityArmorStand) updateEvent.entityLiving; + } + } +} |