aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2021-02-27 00:55:04 +0900
committersyeyoung <cyong06@naver.com>2021-02-27 00:57:04 +0900
commit740c141be9abb13b7b54389a408b082570945153 (patch)
tree09654da24efbee43f9a175fec025c011d5d6d950 /src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon
parent4c8212e74781dfa09c0036e94ceaf150e31da9d4 (diff)
downloadSkyblock-Dungeons-Guide-740c141be9abb13b7b54389a408b082570945153.tar.gz
Skyblock-Dungeons-Guide-740c141be9abb13b7b54389a408b082570945153.tar.bz2
Skyblock-Dungeons-Guide-740c141be9abb13b7b54389a408b082570945153.zip
massive refactor
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java64
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java70
2 files changed, 134 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java
new file mode 100644
index 00000000..14d62437
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java
@@ -0,0 +1,64 @@
+package kr.syeyoung.dungeonsguide.features.impl.dungeon;
+
+import com.google.common.base.Predicate;
+import kr.syeyoung.dungeonsguide.SkyblockStatus;
+import kr.syeyoung.dungeonsguide.config.types.AColor;
+import kr.syeyoung.dungeonsguide.dungeon.DungeonContext;
+import kr.syeyoung.dungeonsguide.e;
+import kr.syeyoung.dungeonsguide.features.FeatureParameter;
+import kr.syeyoung.dungeonsguide.features.SimpleFeature;
+import kr.syeyoung.dungeonsguide.features.listener.PlayerRenderListener;
+import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener;
+import kr.syeyoung.dungeonsguide.utils.RenderUtils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.AbstractClientPlayer;
+import net.minecraft.client.entity.EntityPlayerSP;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.passive.EntityBat;
+import net.minecraft.util.BlockPos;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.jetbrains.annotations.Nullable;
+import org.lwjgl.opengl.GL11;
+
+import java.util.List;
+
+
+public class FeaturePlayerESP extends SimpleFeature implements PlayerRenderListener {
+ public FeaturePlayerESP() {
+ super("Dungeon", "See players through walls", "See players through walls", "dungeon.playeresp", false);
+ setEnabled(false);
+ }
+
+
+ private SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus();
+
+ private boolean preCalled = false;
+ @Override
+ public void onEntityRenderPre(RenderPlayerEvent.Pre renderPlayerEvent) {
+ if (preCalled) return;
+ if (!isEnabled()) return;
+
+ DungeonContext dungeonContext = skyblockStatus.getContext();
+ if (dungeonContext == null) return;
+ if (!dungeonContext.getPlayers().contains(renderPlayerEvent.entityPlayer.getName())) {
+ return;
+ }
+
+
+
+ preCalled = true;
+ GlStateManager.depthFunc(GL11.GL_GEQUAL);
+ Entity entity = renderPlayerEvent.entityPlayer;
+ float f = entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * renderPlayerEvent.partialRenderTick;
+ try {
+ renderPlayerEvent.renderer.doRender((AbstractClientPlayer) renderPlayerEvent.entityPlayer, renderPlayerEvent.x, renderPlayerEvent.y, renderPlayerEvent.z, f, renderPlayerEvent.partialRenderTick);
+ } catch (Throwable t) {}
+ preCalled = false;
+ GlStateManager.depthFunc(GL11.GL_LEQUAL);
+ }
+
+ @Override
+ public void onEntityRenderPost(RenderPlayerEvent.Post renderPlayerEvent) {
+ }
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java
new file mode 100644
index 00000000..a2ca6dab
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java
@@ -0,0 +1,70 @@
+package kr.syeyoung.dungeonsguide.features.impl.dungeon;
+
+import kr.syeyoung.dungeonsguide.SkyblockStatus;
+import kr.syeyoung.dungeonsguide.config.types.AColor;
+import kr.syeyoung.dungeonsguide.dungeon.DungeonContext;
+import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonFairySoul;
+import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonMechanic;
+import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
+import kr.syeyoung.dungeonsguide.e;
+import kr.syeyoung.dungeonsguide.features.listener.ChatListener;
+import kr.syeyoung.dungeonsguide.features.listener.DungeonEndListener;
+import kr.syeyoung.dungeonsguide.features.listener.TickListener;
+import kr.syeyoung.dungeonsguide.features.text.StyledText;
+import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature;
+import kr.syeyoung.dungeonsguide.features.text.TextStyle;
+import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.EntityPlayerSP;
+import net.minecraftforge.client.event.ClientChatReceivedEvent;
+
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.UUID;
+
+public class FeatureWatcherWarning extends TextHUDFeature implements ChatListener, DungeonEndListener {
+
+ public FeatureWatcherWarning() {
+ super("Dungeon","Watcher Spawn Alert", "Alert when watcher says 'That will be enough for now'", "dungen.watcherwarn", true, getFontRenderer().getStringWidth("Watcher finished spawning all mobs!"), getFontRenderer().FONT_HEIGHT);
+ getStyles().add(new TextStyle("warning", new AColor(0xFF, 0x69,0x17,255), new AColor(0, 0,0,0), false));
+ setEnabled(false);
+ }
+
+ SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus();
+ @Override
+ public boolean isHUDViewable() {
+ return warning > System.currentTimeMillis();
+ }
+
+ @Override
+ public List<String> getUsedTextStyle() {
+ return Collections.singletonList("warning");
+ }
+
+ private UUID lastRoomUID = UUID.randomUUID();
+ private long warning = 0;
+
+ private static final List<StyledText> text = new ArrayList<StyledText>();
+ static {
+ text.add(new StyledText("Watcher finished spawning all mobs!", "warning"));
+ }
+
+ @Override
+ public List<StyledText> getText() {
+ return text;
+ }
+
+ @Override
+ public void onChat(ClientChatReceivedEvent clientChatReceivedEvent) {
+ if (clientChatReceivedEvent.message.getFormattedText().equals("§r§c[BOSS] The Watcher§r§f: That will be enough for now.§r")) {
+ warning = System.currentTimeMillis() + 2500;
+ }
+ }
+
+ @Override
+ public void onDungeonEnd() {
+ warning = 0;
+ }
+}