Skip to content

Commit 526b0c6

Browse files
committed
add show terminal clicks & fix events
1 parent 6c32b2f commit 526b0c6

File tree

4 files changed

+58
-2
lines changed

4 files changed

+58
-2
lines changed

config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,14 @@ class Settings {
448448
})
449449
itemHighlightColor3 = new Color(Renderer.color(255, 0, 0, 255), true);
450450

451+
@SwitchProperty({
452+
name: "Show Terminal Clicks",
453+
description: "Highlights clicked Terminals",
454+
category: "SkyBlock",
455+
subcategory: "Show Terminal Clicks"
456+
})
457+
showTerminalClicksEnabled = false;
458+
451459
@SwitchProperty({
452460
name: "Toggle",
453461
description: "Enables Termial Features\nMay not be compatible with other mods",

events/closeWindow.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const trigger1 = global.soshimee.events.closeWindow.trigger1 ??= register("packe
1515
}
1616
}).setFilteredClass(S2EPacketCloseWindow).unregister();
1717

18-
const trigger2 = global.soshimee.events.closeWindow.trigger1 ??= register("packetSent", () => {
18+
const trigger2 = global.soshimee.events.closeWindow.trigger2 ??= register("packetSent", () => {
1919
for (let listener of listeners) {
2020
listener();
2121
}

features/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ import terminals from "./terminals";
2525
import wardrobeHelper from "./wardrobeHelper";
2626
import itemHighlight from "./itemHighlight";
2727
import padTickTimer from "./padTickTimer";
28+
import showTerminalClicks from "./showTerminalClicks";
2829

29-
export const features = { bloodHelper, hideLobbyJoinMessages, partyInviteNotification, catSounds, mute, betterPartyFinder, melodyAlert, deathAlert, mimicRelay, sbeBloodFix, p3StartTimer, i4Helper, shadowAssassinAlert, partyFinderNote, partyFinderAutoKick, invincibilityTimer, goldorTickTimer, deathTickTimer, leapHelper, positionalMessages, rightClickAnimation, partyCommands, terminals, wardrobeHelper, itemHighlight, padTickTimer };
30+
export const features = { bloodHelper, hideLobbyJoinMessages, partyInviteNotification, catSounds, mute, betterPartyFinder, melodyAlert, deathAlert, mimicRelay, sbeBloodFix, p3StartTimer, i4Helper, shadowAssassinAlert, partyFinderNote, partyFinderAutoKick, invincibilityTimer, goldorTickTimer, deathTickTimer, leapHelper, positionalMessages, rightClickAnimation, partyCommands, terminals, wardrobeHelper, itemHighlight, padTickTimer, showTerminalClicks };
3031

3132
const featureState = {};
3233
Object.keys(features).forEach(featureName => featureState[featureName] = false);
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import RenderLib from "../../../RenderLib";
2+
3+
const C02PacketUseEntity = Java.type("net.minecraft.network.play.client.C02PacketUseEntity");
4+
5+
const highlights = {};
6+
let renderTriggerRegistered = false;
7+
8+
const renderTrigger = register("renderWorld", () => {
9+
const time = new Date().getTime();
10+
for (let highlight of Object.values(highlights)) {
11+
let progress = (time - highlight.start) / (highlight.end - highlight.start);
12+
let position = highlight.position;
13+
if (progress > 1) {
14+
delete highlights[position.join()];
15+
continue;
16+
}
17+
RenderLib.drawInnerEspBox(...position, 0.5, 1.975, 0, 1, 0, 1 - progress, true);
18+
}
19+
if (Object.values(highlights).length <= 0) {
20+
renderTrigger.unregister();
21+
renderTriggerRegistered = false;
22+
}
23+
}).unregister();
24+
25+
const trigger = register("packetSent", packet => {
26+
const entity = new Entity(packet.func_149564_a(World.getWorld()));
27+
if (entity.getName() !== "§cInactive Terminal") return;
28+
const time = new Date().getTime();
29+
const position = [entity.getX(), entity.getY(), entity.getZ()];
30+
highlights[position.join()] = {
31+
start: time,
32+
end: time + 500,
33+
position
34+
};
35+
if (!renderTriggerRegistered) renderTrigger.register();
36+
renderTriggerRegistered = true;
37+
}).setFilteredClass(C02PacketUseEntity).unregister();
38+
39+
export function enable() {
40+
trigger.register();
41+
}
42+
43+
export function disable() {
44+
trigger.unregister();
45+
}
46+
47+
export default { enable, disable };

0 commit comments

Comments
 (0)