aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-07-08 17:20:55 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-07-08 18:18:17 +0800
commit796177d64aac6c64949973a5604aedc0d1f2651f (patch)
treed42c42a0322d29d0ee0399b771b1de684cd925fb /src/main/java/me/xmrvizzy/skyblocker/skyblock/rift
parentaed3973ad0cc33b3d3128695e6f660dc304bc9d6 (diff)
downloadSkyblocker-796177d64aac6c64949973a5604aedc0d1f2651f.tar.gz
Skyblocker-796177d64aac6c64949973a5604aedc0d1f2651f.tar.bz2
Skyblocker-796177d64aac6c64949973a5604aedc0d1f2651f.zip
Refactor Title Container
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/rift')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java27
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java25
6 files changed, 39 insertions, 59 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
index 0d44900a..7376c896 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
@@ -32,7 +32,7 @@ public class EffigyWaypoints {
);
private static final List<BlockPos> unBrokenEffigies = new ArrayList<>();
- public static void updateEffigies() {
+ protected static void updateEffigies() {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return;
unBrokenEffigies.clear();
@@ -61,7 +61,7 @@ public class EffigyWaypoints {
}
}
- public static void render(WorldRenderContext context) {
+ protected static void render(WorldRenderContext context) {
if (SkyblockerConfig.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) {
for (BlockPos effigy : unBrokenEffigies) {
float[] colorComponents = DyeColor.RED.getColorComponents();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
index d1657d67..fed34796 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
@@ -7,28 +7,21 @@ import me.xmrvizzy.skyblocker.utils.title.Title;
import me.xmrvizzy.skyblocker.utils.title.TitleContainer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.Formatting;
public class HealingMelonIndicator {
- private static Title title = null;
- public static void updateHealth(MinecraftClient client) {
- if(title == null)
- title = new Title(I18n.translate("skyblocker.rift.healNow"), Formatting.DARK_RED.getColorValue());
+ private static final Title title = new Title("skyblocker.rift.healNow", Formatting.DARK_RED);
+ public static void updateHealth(MinecraftClient client) {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) {
- title.active = false;
+ TitleContainer.removeTitle(title);
return;
}
- title.active = true;
ClientPlayerEntity player = client.player;
if (player != null && player.getHealth() <= SkyblockerConfig.get().slayer.vampireSlayer.healingMelonHealthThreshold * 2F) {
- title.active = true;
- if(!TitleContainer.titles.contains(title))
- RenderHelper.displayInTitleContainerAndPlaySound(title);
- }
- else {
- title.active = false;
+ RenderHelper.displayInTitleContainerAndPlaySound(title);
+ } else {
+ TitleContainer.removeTitle(title);
}
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java
index 7d5a1cb4..4e873eed 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java
@@ -8,18 +8,16 @@ import me.xmrvizzy.skyblocker.utils.title.Title;
import me.xmrvizzy.skyblocker.utils.title.TitleContainer;
import net.minecraft.block.Blocks;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.resource.language.I18n;
import net.minecraft.entity.Entity;
import net.minecraft.util.Formatting;
+import net.minecraft.util.math.BlockPos;
public class ManiaIndicator {
- private static Title title = null;
- public static void updateMania() {
- if(title == null)
- title = new Title("b", Formatting.RED.getColorValue());
+ private static final Title title = new Title("skyblocker.rift.mania", Formatting.RED);
+ protected static void updateMania() {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
- title.active = false;
+ TitleContainer.removeTitle(title);
return;
}
@@ -30,17 +28,14 @@ public class ManiaIndicator {
for (Entity entity : SlayerUtils.getEntityArmorStands(slayerEntity)) {
if (entity.getDisplayName().toString().contains("MANIA")) {
anyMania = true;
- title.active = true;
- var pos = MinecraftClient.getInstance().player.getBlockPos().down();
- var isGreen = MinecraftClient.getInstance().world.getBlockState(pos).getBlock() == Blocks.GREEN_TERRACOTTA;
- title.color = isGreen ? Formatting.GREEN.getColorValue() : Formatting.RED.getColorValue();
- if(!TitleContainer.titles.contains(title)) {
- title.text = I18n.translate("skyblocker.rift.mania");
- RenderHelper.displayInTitleContainerAndPlaySound(title);
- }
+ BlockPos pos = MinecraftClient.getInstance().player.getBlockPos().down();
+ boolean isGreen = MinecraftClient.getInstance().world.getBlockState(pos).getBlock() == Blocks.GREEN_TERRACOTTA;
+ title.setFormatting(isGreen ? Formatting.GREEN : Formatting.RED);
+ RenderHelper.displayInTitleContainerAndPlaySound(title);
}
}
- if(!anyMania)
- title.active = false;
+ if (!anyMania) {
+ TitleContainer.removeTitle(title);
+ }
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java
index 276ec551..32551179 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java
@@ -34,7 +34,7 @@ public class MirrorverseWaypoints {
/**
* Loads the waypoint locations into memory
*/
- public static void loadWaypoints() {
+ private static void loadWaypoints() {
try (BufferedReader reader = CLIENT.getResourceManager().openAsReader(WAYPOINTS_JSON)) {
JsonObject file = JsonParser.parseReader(reader).getAsJsonObject();
JsonArray sections = file.get("sections").getAsJsonArray();
@@ -69,7 +69,7 @@ public class MirrorverseWaypoints {
}
}
- public static void render(WorldRenderContext wrc) {
+ protected static void render(WorldRenderContext wrc) {
//I would also check for the mirrorverse location but the scoreboard stuff is not performant at all...
if (Utils.isInTheRift() && SkyblockerConfig.get().locations.rift.mirrorverseWaypoints) {
for (BlockPos pos : LAVA_PATH_WAYPOINTS) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java
index d946df6d..90fc436d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java
@@ -6,28 +6,23 @@ import me.xmrvizzy.skyblocker.utils.SlayerUtils;
import me.xmrvizzy.skyblocker.utils.Utils;
import me.xmrvizzy.skyblocker.utils.title.Title;
import me.xmrvizzy.skyblocker.utils.title.TitleContainer;
-import net.minecraft.client.resource.language.I18n;
import net.minecraft.entity.Entity;
+import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
public class StakeIndicator {
- private static Title title = null;
- public static void updateStake() {
- if (title == null)
- title = new Title("b", Formatting.RED.getColorValue());
+ private static final Title title = new Title("skyblocker.rift.stakeNow",Formatting.RED);
+ protected static void updateStake() {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) {
- title.active = false;
+ TitleContainer.removeTitle(title);
return;
}
Entity slayerEntity = SlayerUtils.getSlayerEntity();
if (slayerEntity != null && slayerEntity.getDisplayName().toString().contains("҉")) {
- title.active = true;
- title.text = I18n.translate("skyblocker.rift.stakeNow");
- if(!TitleContainer.titles.contains(title))
- RenderHelper.displayInTitleContainerAndPlaySound(title);
+ RenderHelper.displayInTitleContainerAndPlaySound(title);
+ } else {
+ TitleContainer.removeTitle(title);
}
- else
- title.active = false;
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java
index 706aa95e..f36b97df 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java
@@ -7,19 +7,17 @@ import me.xmrvizzy.skyblocker.utils.SlayerUtils;
import me.xmrvizzy.skyblocker.utils.Utils;
import me.xmrvizzy.skyblocker.utils.title.Title;
import me.xmrvizzy.skyblocker.utils.title.TitleContainer;
-import net.minecraft.client.resource.language.I18n;
import net.minecraft.entity.Entity;
+import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
public class TwinClawsIndicator {
- private static Title title = null;
- public static boolean scheduling = false;
- public static void updateIce() {
- if(title == null)
- title = new Title("b", Formatting.AQUA.getColorValue());
+ private static final Title title = new Title("skyblocker.rift.iceNow",Formatting.AQUA);
+ private static boolean scheduled = false;
+ protected static void updateIce() {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) {
- title.active = false;
+ TitleContainer.removeTitle(title);
return;
}
@@ -30,18 +28,17 @@ public class TwinClawsIndicator {
for (Entity entity : SlayerUtils.getEntityArmorStands(slayerEntity)) {
if (entity.getDisplayName().toString().contains("TWINCLAWS")) {
anyClaws = true;
- title.active = true;
- if(!TitleContainer.titles.contains(title) && !scheduling) {
- scheduling = true;
+ if (!TitleContainer.containsTitle(title) && !scheduled) {
+ scheduled = true;
SkyblockerMod.getInstance().scheduler.schedule(() -> {
- title.text = I18n.translate("skyblocker.rift.iceNow");
RenderHelper.displayInTitleContainerAndPlaySound(title);
- scheduling = false;
+ scheduled = false;
}, SkyblockerConfig.get().slayer.vampireSlayer.holyIceIndicatorTickDelay);
}
}
}
- if(!anyClaws)
- title.active = false;
+ if (!anyClaws) {
+ TitleContainer.removeTitle(title);
+ }
}
} \ No newline at end of file