aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/data/OffsetPoint.java4
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java4
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java3
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java1
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java25
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java10
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java14
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorSadan.java12
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java10
9 files changed, 51 insertions, 32 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/OffsetPoint.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/OffsetPoint.java
index 76f22f30..8e7fd7e7 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/OffsetPoint.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/data/OffsetPoint.java
@@ -33,9 +33,9 @@ public class OffsetPoint implements Cloneable, Serializable {
for (int i = 0; i < dungeonRoom.getRoomMatcher().getRotation(); i++) {
vector2d = VectorUtils.rotateClockwise(vector2d);
if (i % 2 == 0) {
- vector2d.x += dungeonRoom.getDungeonRoomInfo().getBlocks().length - 1; // + Z
+ vector2d.x += dungeonRoom.getDungeonRoomInfo().getBlocks()[0].length - 1; // + Z
} else {
- vector2d.x += dungeonRoom.getDungeonRoomInfo().getBlocks()[0].length - 1; // + X
+ vector2d.x += dungeonRoom.getDungeonRoomInfo().getBlocks().length - 1; // + X
}
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
index cdfc7c37..443e8bbd 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/mechanics/DungeonDoor.java
@@ -28,9 +28,7 @@ public class DungeonDoor implements DungeonMechanic, RouteBlocker {
@Override
public Set<Action> getAction(String state, DungeonRoom dungeonRoom) {
if (!("open".equalsIgnoreCase(state) || "closed".equalsIgnoreCase(state))) throw new IllegalArgumentException(state+" is not valid state for door");
- if (!isBlocking(dungeonRoom)) {
- return Collections.emptySet();
- }
+ if (state.equalsIgnoreCase(getCurrentState(dungeonRoom))) return Collections.emptySet();
Set<Action> base;
Set<Action> preRequisites = base = new HashSet<Action>();
{
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
index bf480833..cf846b20 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
@@ -5,6 +5,7 @@ import kr.syeyoung.dungeonsguide.utils.ArrayUtils;
import kr.syeyoung.dungeonsguide.utils.ShortUtils;
import lombok.Getter;
import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
@@ -107,7 +108,7 @@ public class RoomMatcher {
}
Block b = dungeonRoom.getRelativeBlockAt(x,0,z);
- if (b == null) {
+ if (b == null || b == Blocks.chest || b == Blocks.trapped_chest) {
data[z][x] = -1;
} else {
data[z][x] = Block.getIdFromBlock(b);
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java
index a9ab8f84..2c562883 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java
@@ -51,6 +51,7 @@ public class FeatureDisableMessage extends SimpleFeature implements ChatListener
if (!isEnabled()) return;
if (!skyblockStatus.isOnSkyblock()) return;
String msg = clientChatReceivedEvent.message.getFormattedText();
+ System.out.println(msg);
for (MessageData md:PRE_DEFINED) {
if (this.<Boolean>getParameter(md.key).getValue() && md.pattern.matcher(msg).matches()) {
clientChatReceivedEvent.setCanceled(true);
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java b/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
index dcea61ca..256673ba 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
@@ -52,11 +52,30 @@ public class NodeProcessorDungeonRoom extends NodeProcessor {
int newZ = currentPoint.zCoord + dir.getZ();
if (newX < 0 || newZ < 0) continue;
if (newX > sub.getX()|| newZ > sub.getZ()) continue;
- if (isValidBlock(entityIn.getEntityWorld().getBlockState(dungeonRoom.getMin().add(newX, newY, newZ)))
- && isValidBlock( entityIn.getEntityWorld().getBlockState(dungeonRoom.getMin().add(newX, newY + 1, newZ)))) {
+ IBlockState curr = entityIn.getEntityWorld().getBlockState(dungeonRoom.getMin().add(newX, newY, newZ));
+ IBlockState up = entityIn.getEntityWorld().getBlockState(dungeonRoom.getMin().add(newX, newY + 1, newZ));
+ if (isValidBlock(curr)
+ && isValidBlock(up )) {
PathPoint pt = openPoint(newX, newY, newZ);
if (pt.visited) continue;
pathOptions[i++] = pt;
+ continue;
+ }
+
+ if (curr.getBlock() == Blocks.air) {
+ if (up.getBlock() == Blocks.stone_slab
+ || up.getBlock() == Blocks.wooden_slab
+ || up.getBlock() == Blocks.stone_slab2) {
+ IBlockState up2 = entityIn.getEntityWorld().getBlockState(dungeonRoom.getMin().add(newX, newY -1, newZ));
+ if (up2.getBlock() == Blocks.stone_slab
+ || up2.getBlock() == Blocks.wooden_slab
+ || up2.getBlock() == Blocks.stone_slab2) {
+ PathPoint pt = openPoint(newX, newY, newZ);
+ if (pt.visited) continue;
+ pathOptions[i++] = pt;
+ continue;
+ }
+ }
}
}
return i;
@@ -69,7 +88,7 @@ public class NodeProcessorDungeonRoom extends NodeProcessor {
|| state.getBlock() == Blocks.standing_sign || state.getBlock() == Blocks.wall_sign
|| state.getBlock() == Blocks.trapdoor || state.getBlock() == Blocks.iron_trapdoor
|| state.getBlock() == Blocks.wooden_button || state.getBlock() == Blocks.stone_button
- || state.getBlock() == Blocks.fire
+ || state.getBlock() == Blocks.fire || state.getBlock() == Blocks.torch
|| (state == Blocks.stone.getStateFromMeta(2));
}
}
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 2932b5a9..4631e86c 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorBonzo.java
@@ -12,27 +12,27 @@ public class BossfightProcessorBonzo extends GeneralBossfightProcessor {
public BossfightProcessorBonzo() {
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("start")
- .signatureMsg("§r§c[BOSS] Bonzo§r§f: Gratz for making it this far, but I’m basically unbeatable.§r")
+ .signatureMsg("§r§c[BOSS] Bonzo §r§f: Gratz for making it this far, but I’m basically unbeatable.§r")
.nextPhase("fight-1").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("fight-1")
- .signatureMsg("§r§c[BOSS] Bonzo§r§f: I can summon lots of undead! Check this out.§r")
+ .signatureMsg("§r§c[BOSS] Bonzo §r§f: I can summon lots of undead! Check this out.§r")
.nextPhase("first-defeat").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("first-defeat")
- .signatureMsg("§r§c[BOSS] Bonzo§r§f: Oh I'm dead!§r").signatureMsg("§r§c[BOSS] Bonzo§r§f: Hoho, looks like you killed me!§r")
+ .signatureMsg("§r§c[BOSS] Bonzo §r§f: Oh I'm dead!§r").signatureMsg("§r§c[BOSS] Bonzo §r§f: Hoho, looks like you killed me!§r")
.nextPhase("fight-2").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("fight-2")
- .signatureMsg("§r§c[BOSS] Bonzo§r§f: Sike§r").signatureMsg("§r§c[BOSS] Bonzo§r§f: I can revive myself and become much stronger!§r")
+ .signatureMsg("§r§c[BOSS] Bonzo §r§f: Sike§r").signatureMsg("§r§c[BOSS] Bonzo §r§f: I can revive myself and become much stronger!§r")
.nextPhase("final-defeat").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("final-defeat")
- .signatureMsg("§r§c[BOSS] Bonzo§r§f: Alright, maybe I'm just weak after all..§r").build()
+ .signatureMsg("§r§c[BOSS] Bonzo §r§f: Alright, maybe I'm just weak after all..§r").build()
);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java
index 2bb269f6..da0ac2d1 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorProf.java
@@ -11,37 +11,37 @@ public class BossfightProcessorProf extends GeneralBossfightProcessor {
public BossfightProcessorProf() {
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("start")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: I was burdened with terrible news recently...§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: I was burdened with terrible news recently...§r")
.nextPhase("fight-1").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("fight-1")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: I'll show you real power!§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: I'll show you real power!§r")
.nextPhase("first-defeat").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("first-defeat")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: Oh? You found my Guardians one weakness?§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: Oh? You found my Guardians one weakness?§r")
.nextPhase("fight-2").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("fight-2")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: This time I'll be your opponent!§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: This time I'll be your opponent!§r")
.nextPhase("second-defeat").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("second-defeat")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: I see. You have forced me to use my ultimate technique.§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: I see. You have forced me to use my ultimate technique.§r")
.nextPhase("fight-3").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("fight-3")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: The process is irreversible, but I'll be stronger than a Wither now!§r")
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: The process is irreversible, but I'll be stronger than a Wither now!§r")
.nextPhase("final-defeat").build()
);
addPhase(GeneralBossfightProcessor.PhaseData.builder()
.phase("final-defeat")
- .signatureMsg("§r§c[BOSS] The Professor§r§f: What?! My Guardian power is unbeatable!§r").build()
+ .signatureMsg("§r§c[BOSS] The Professor §r§f: What?! My Guardian power is unbeatable!§r").build()
);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorSadan.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorSadan.java
index 60908de4..2a0ee850 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorSadan.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorSadan.java
@@ -16,32 +16,32 @@ public class BossfightProcessorSadan extends GeneralBossfightProcessor {
);
addPhase(PhaseData.builder()
.phase("fight-1")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: I am the bridge between this realm and the world below! You shall not pass!§r")
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: I am the bridge between this realm and the world below! You shall not pass!§r")
.nextPhase("first-defeat").build()
);
addPhase(PhaseData.builder()
.phase("first-defeat")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: ENOUGH!§r")
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: ENOUGH!§r")
.nextPhase("fight-2").build()
);
addPhase(PhaseData.builder()
.phase("fight-2")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: My giants! Unleashed!§r")
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: My giants! Unleashed!§r")
.nextPhase("second-defeat").build()
);
addPhase(PhaseData.builder()
.phase("second-defeat")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: You did it. I understand now, you have earned my respect.§r")
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: You did it. I understand now, you have earned my respect.§r")
.nextPhase("fight-3").build()
);
addPhase(PhaseData.builder()
.phase("fight-3")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: I'm sorry but I need to concentrate. I wish it didn't have to come to this.§r")
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: I'm sorry but I need to concentrate. I wish it didn't have to come to this.§r")
.nextPhase("final-defeat").build()
);
addPhase(PhaseData.builder()
.phase("final-defeat")
- .signatureMsg("§r§c[BOSS] Sadan§r§f: NOOOOOOOOO!!! THIS IS IMPOSSIBLE!!§r").build()
+ .signatureMsg("§r§c[BOSS] Sadan §r§f: NOOOOOOOOO!!! THIS IS IMPOSSIBLE!!§r").build()
);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java
index a1ee7af2..cfd01a1f 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorScarf.java
@@ -11,27 +11,27 @@ 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")
+ .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")
+ .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")
+ .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")
+ .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()
+ .signatureMsg("§r§c[BOSS] Scarf §r§f: Whatever...§r").build()
);
}