diff options
author | syeyoung <cyong06@naver.com> | 2021-01-17 13:53:57 +0900 |
---|---|---|
committer | syeyoung <cyong06@naver.com> | 2021-01-17 13:53:57 +0900 |
commit | a22e0c7e35a95698dbee1e7b17fc03fd7a4957e8 (patch) | |
tree | 530ced631575eb91a270a421f3e305a21322be9d /src/main/java/kr/syeyoung/dungeonsguide/dungeon | |
parent | abd7802a7b07224c0367e64b40f92fe80d284520 (diff) | |
download | Skyblock-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')
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 |