aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2021-01-17 13:53:57 +0900
committersyeyoung <cyong06@naver.com>2021-01-17 13:53:57 +0900
commita22e0c7e35a95698dbee1e7b17fc03fd7a4957e8 (patch)
tree530ced631575eb91a270a421f3e305a21322be9d /src/main/java/kr/syeyoung/dungeonsguide/dungeon
parentabd7802a7b07224c0367e64b40f92fe80d284520 (diff)
downloadSkyblock-Dungeons-Guide-a22e0c7e35a95698dbee1e7b17fc03fd7a4957e8.tar.gz
Skyblock-Dungeons-Guide-a22e0c7e35a95698dbee1e7b17fc03fd7a4957e8.tar.bz2
Skyblock-Dungeons-Guide-a22e0c7e35a95698dbee1e7b17fc03fd7a4957e8.zip
bossfight processor
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java14
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java6
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/DungeonSpecificDataProvider.java6
3 files changed, 25 insertions, 1 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java
index ddbfa299..6d1874c0 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java
@@ -1,11 +1,15 @@
package kr.syeyoung.dungeonsguide.dungeon;
+import kr.syeyoung.dungeonsguide.SkyblockStatus;
+import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProvider;
+import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProviderRegistry;
import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
import kr.syeyoung.dungeonsguide.e;
import kr.syeyoung.dungeonsguide.events.BossroomEnterEvent;
import kr.syeyoung.dungeonsguide.features.FeatureRegistry;
import kr.syeyoung.dungeonsguide.features.impl.FeatureDungeonMap;
import kr.syeyoung.dungeonsguide.roomprocessor.RoomProcessor;
+import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessor;
import kr.syeyoung.dungeonsguide.utils.TextUtils;
import lombok.Getter;
import lombok.Setter;
@@ -53,6 +57,10 @@ public class DungeonContext {
private int BossRoomEnterSeconds = -1;
@Getter
+ @Setter
+ private BossfightProcessor bossfightProcessor;
+
+ @Getter
private Set<String> players = new HashSet<String>();
public DungeonContext(World world) {
@@ -71,6 +79,12 @@ public class DungeonContext {
if (mapProcessor.isInitialized() && BossRoomEnterSeconds == -1 && !roomBoundary.contains(mapProcessor.worldPointToMapPoint(Minecraft.getMinecraft().thePlayer.getPositionVector()))) {
BossRoomEnterSeconds = FeatureRegistry.DUNGEON_SBTIME.getTimeElapsed() / 1000;
MinecraftForge.EVENT_BUS.post(new BossroomEnterEvent());
+ DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(((SkyblockStatus) e.getDungeonsGuide().getSkyblockStatus()).getDungeonName());
+ if (doorFinder != null) {
+ bossfightProcessor = doorFinder.createBossfightProcessor(world, e.getDungeonsGuide().getSkyblockStatus().getDungeonName());
+ } else {
+ e.sendDebugChat(new ChatComponentText("Error:: Null Data Providier"));
+ }
}
List<NetworkPlayerInfo> list = FeatureDungeonMap.field_175252_a.sortedCopy(Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap());
try {
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 7f4e9813..463ee3db 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java
@@ -2,6 +2,7 @@ package kr.syeyoung.dungeonsguide.dungeon.doorfinder;
import com.google.common.base.Predicate;
import com.google.common.collect.Sets;
+import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessor;
import net.minecraft.entity.item.EntityArmorStand;
import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
@@ -64,4 +65,9 @@ public class CatacombDataProvider implements DungeonSpecificDataProvider {
}
return null;
}
+
+ @Override
+ public BossfightProcessor createBossfightProcessor(World w, String dungeonName) {
+ return null;
+ }
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/DungeonSpecificDataProvider.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/DungeonSpecificDataProvider.java
index cc97d73a..3103adf0 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/DungeonSpecificDataProvider.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/DungeonSpecificDataProvider.java
@@ -1,5 +1,7 @@
package kr.syeyoung.dungeonsguide.dungeon.doorfinder;
+import kr.syeyoung.dungeonsguide.roomprocessor.RoomProcessor;
+import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessor;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
@@ -8,4 +10,6 @@ import javax.vecmath.Vector2d;
public interface DungeonSpecificDataProvider {
BlockPos findDoor(World w, String dungeonName);
Vector2d findDoorOffset(World w, String dungeonName);
-}
+
+ BossfightProcessor createBossfightProcessor(World w, String dungeonName);
+} \ No newline at end of file