aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java1
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessor.java2
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorLivid.java10
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/GeneralBossfightProcessor.java24
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/HealthData.java14
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;
+}