diff options
Diffstat (limited to 'src')
5 files changed, 45 insertions, 6 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 c5ffe777..ce2f6039 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java @@ -130,6 +130,7 @@ public class CatacombDataProvider implements DungeonSpecificDataProvider { .phase("final-defeat") .signatureMsg("§r§c[BOSS] Bonzo§r§f: Alright, maybe I'm just weak after all..§r").build() ); + bossfightProcessor.setBossMaxHealth(250000); return bossfightProcessor; } else if (floor.equals("F3")) { GeneralBossfightProcessor bossfightProcessor = new GeneralBossfightProcessor(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessor.java index 395c3542..9d2541c0 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessor.java @@ -8,4 +8,6 @@ public interface BossfightProcessor extends RoomProcessor { List<String> getPhases(); String getCurrentPhase(); List<String> getNextPhases(); + + List<HealthData> getHealths(); }
\ No newline at end of file diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorLivid.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorLivid.java index 6f664099..78dfd060 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorLivid.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorLivid.java @@ -5,9 +5,7 @@ import net.minecraft.client.entity.EntityOtherPlayerMP; import net.minecraft.entity.item.EntityArmorStand; import net.minecraftforge.event.entity.living.LivingEvent; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.Set; +import java.util.*; @Getter public class BossfightProcessorLivid extends GeneralBossfightProcessor { @@ -31,4 +29,10 @@ public class BossfightProcessorLivid extends GeneralBossfightProcessor { } } } + + @Override + public List<HealthData> getHealths() { + ArrayList<HealthData> healthData = new ArrayList<HealthData>(); + return super.getHealths(); + } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/GeneralBossfightProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/GeneralBossfightProcessor.java index 5b71d406..2b1ce71c 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/GeneralBossfightProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/GeneralBossfightProcessor.java @@ -1,9 +1,10 @@ package kr.syeyoung.dungeonsguide.roomprocessor.bossfight; -import lombok.Builder; -import lombok.Data; -import lombok.Singular; +import lombok.*; +import net.minecraft.entity.boss.BossStatus; +import net.minecraft.entity.boss.EntityDragon; import net.minecraft.util.IChatComponent; +import net.minecraft.world.World; import net.minecraftforge.client.event.GuiScreenEvent; import net.minecraftforge.event.entity.living.LivingEvent; @@ -13,6 +14,15 @@ public class GeneralBossfightProcessor implements BossfightProcessor { private Map<String, PhaseData> phases = new HashMap<String, PhaseData>(); private PhaseData currentPhase = null; + @Getter + @Setter + private int bossMaxHealth = 100; + @Getter + @Setter + private String name; + + private World world; + public void addPhase(PhaseData phaseData) { if (phaseData == null) return; if (currentPhase == null) currentPhase = phaseData; @@ -35,6 +45,14 @@ public class GeneralBossfightProcessor implements BossfightProcessor { } @Override + public List<HealthData> getHealths() { + ArrayList<HealthData> arr = new ArrayList<HealthData>(); + arr.add(new HealthData(name, (int) (bossMaxHealth * BossStatus.healthScale), bossMaxHealth)); + return arr; + } + + + @Override public String getCurrentPhase() { return currentPhase == null ? "unknown" : currentPhase.getPhase(); } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/HealthData.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/HealthData.java new file mode 100644 index 00000000..66a727dd --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/HealthData.java @@ -0,0 +1,14 @@ +package kr.syeyoung.dungeonsguide.roomprocessor.bossfight; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class HealthData { + private String name; + private int health; + private int maxHealth; +} |