aboutsummaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
Diffstat (limited to 'features')
-rw-r--r--features/slayers/index.js35
1 files changed, 33 insertions, 2 deletions
diff --git a/features/slayers/index.js b/features/slayers/index.js
index efea67b..59606a1 100644
--- a/features/slayers/index.js
+++ b/features/slayers/index.js
@@ -125,6 +125,9 @@ class Slayers extends Feature {
this.disableWhenNotYourBoss = new ToggleSetting("Disable KeyBind", "when the boss is not yours", false, "boss_bind_disable", this)
this.isCorrectBind = true
this.candidateBoss = []
+ this.arachneKeeperMain = new ToggleSetting("Main Toggle for Arachne Keepers", "this is the main toggle of the arachne keeper category", false, "arachne_keeper_main", this)
+ this.boxAroundArachneKeeper = new ToggleSetting("Box Around Arachne Keeper", "red box", false, "arachne_keeper_box", this).requires(this.arachneKeeperMain)
+ this.arachneKeeperSpawnAlert = new ToggleSetting("Arachne Keeper Spawned Alert", "tell you if one of them spawned", false, "arachne_keeper_alert", this).requires(this.arachneKeeperMain)
try {
this.bossBind = getKeyBindFromKey(Keyboard[this.bossBindDefault.getValue()], "Choose the nearest eman boss as your boss.");
} catch (e) {
@@ -238,6 +241,7 @@ class Slayers extends Feature {
this.beaconLocations = {};
this.eyeE = [];
this.minibossEntity = [];
+ this.arachneKeeperEntity = [];
this.areaMiniEntity = [];
this.todoE2 = [];
this.emanBoss = undefined;
@@ -269,6 +273,13 @@ class Slayers extends Feature {
enderman: new Set(["Voidling Extremist"]),
blaze: new Set(["Millenia-Aged Blaze"])
}
+ this.arachneKeeper = {
+ width: 1.5,
+ height: -1,
+ r: 0.67,
+ g: 0,
+ b: 0
+ }
this.SlayerWidth = {
zombie: 1,
@@ -361,6 +372,7 @@ class Slayers extends Feature {
this.eyeE = [];
this.minibossEntity = [];
this.areaMiniEntity = [];
+ this.arachneKeeperEntity = [];
this.emanBoss = undefined;
this.actualEmanBoss = undefined;
this.hideSummons = false
@@ -399,6 +411,9 @@ class Slayers extends Feature {
drawBoxAtEntity(x[0], 0, 1, 0, this.SlayerWidth[x[1]], this.SlayerHeight[x[1]], ticks, 4, false);
})
+ this.arachneKeeperEntity.forEach((x) => {
+ drawBoxAtEntity(x, this.arachneKeeper.r, this.arachneKeeper.g, this.arachneKeeper.b, this.arachneKeeper.width, this.arachneKeeper.height, ticks, 4, false);
+ })
this.areaMiniEntity.forEach((x) => {
drawBoxAtEntity(x[0], this.areaColor[x[1]].r, this.areaColor[x[1]].g, this.areaColor[x[1]].b, this.SlayerWidth[x[1]], this.SlayerHeight[x[1]], ticks, 4, false);
@@ -454,9 +469,23 @@ class Slayers extends Feature {
this.renderEntityEvent.unregister();
}
- if (this.BoxAroundMiniboss.getValue() || this.BoxAroundAreaMiniboss.getValue() || this.betterHideDeadEntity.getValue() || this.summonsHideNametag.getValue() || this.summonHPGuiElement.getValue() || this.summonsLowWarning.getValue() || (this.isCorrectBind && this.bossBindDefault.getValue() != "CHAR_NONE")) {
+ if (this.BoxAroundMiniboss.getValue() || this.BoxAroundAreaMiniboss.getValue() || this.betterHideDeadEntity.getValue() || this.summonsHideNametag.getValue() || this.summonHPGuiElement.getValue() || this.summonsLowWarning.getValue() || (this.isCorrectBind && this.bossBindDefault.getValue() != "CHAR_NONE") || this.arachneKeeperMain.getValue()) {
World.getAllEntitiesOfType(net.minecraft.entity.item.EntityArmorStand).forEach((name) => {
- let nameRemoveFormat = name.getName().removeFormatting()
+ let Name = name.getName()
+ let nameRemoveFormat = Name.removeFormatting()
+ if (this.arachneKeeperMain.getValue() && Name.startsWith("§8[§7Lv100§8] §4§lArachne's Keeper§r")) {
+ let shouldPing = this.arachneKeeperSpawnAlert.getValue() && (name.getY() - Player.getY()) <= 15
+ if (!this.arachneKeeperEntity?.map(a => a.getUUID().toString()).includes(name.getUUID().toString())) {
+ this.arachneKeeperEntity.push(name)
+ if (shouldPing) {
+ if (this.MinibossPing.getValue()) World.playSound('note.pling', 1, 1);
+ }
+ }
+ if (shouldPing) {
+ if (this.MinibossAlert.getValue()) Client.showTitle("&c&lArachne's Keeper!", "", 0, 20, 10);
+ }
+ return
+ }
if (this.cannotFindEmanBoss) {
if (!this.bossSpawnedMessage) {
this.emanBoss = undefined
@@ -633,6 +662,7 @@ class Slayers extends Feature {
this.areaMiniEntity.splice(this.areaMiniEntity.indexOf(eArray))
}
})
+ this.arachneKeeperEntity = this.arachneKeeperEntity.filter((e) => !e.getEntity()[f.isDead]);
this.eyeE = this.eyeE.filter((e) => !e.getEntity()[f.isDead]);
this.candidateBoss = this.candidateBoss.filter((e) => !e[f.isDead]);
this.beaconE = this.beaconE.filter((e) => {
@@ -938,6 +968,7 @@ class Slayers extends Feature {
this.eyeE = undefined;
this.minibossEntity = undefined;
this.areaMiniEntity = undefined;
+ this.arachneKeeperEntity = undefined;
this.nextIsBoss = undefined;
this.hudElements = [];
this.entityAttackEventLoaded = undefined;