Skip to content

Commit 4468902

Browse files
committed
+Dungeons terminal display
set displays to be off by default + customisable sylveoon bridge chat - improved custom name a bit - removed the api key cuz it was dumb
1 parent b69ba67 commit 4468902

10 files changed

Lines changed: 218 additions & 122 deletions

File tree

src/main/java/com/ownwn/ownwnaddons/OwnwnAddons.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
import com.ownwn.ownwnaddons.commands.HyperionPrice;
66
import com.ownwn.ownwnaddons.commands.IslandAfkTimer;
77
import com.ownwn.ownwnaddons.commands.Owa;
8-
import com.ownwn.ownwnaddons.features.CreateGhostPick;
9-
import com.ownwn.ownwnaddons.features.SecretClickSounds;
10-
import com.ownwn.ownwnaddons.features.TrevorCooldown;
11-
import com.ownwn.ownwnaddons.features.WitherShieldSound;
8+
import com.ownwn.ownwnaddons.features.*;
129
import com.ownwn.ownwnaddons.features.chat.*;
1310
import com.ownwn.ownwnaddons.utils.FetchOnServerJoin;
1411
import com.ownwn.ownwnaddons.utils.NewConfig;
@@ -44,7 +41,7 @@ public void onFMLInitialization(net.minecraftforge.fml.common.event.FMLInitializ
4441
config = new NewConfig();
4542

4643
MinecraftForge.EVENT_BUS.register(this);
47-
MinecraftForge.EVENT_BUS.register(new CustomChat());
44+
MinecraftForge.EVENT_BUS.register(new CustomName());
4845
MinecraftForge.EVENT_BUS.register(new TrevorChatCleanup());
4946
MinecraftForge.EVENT_BUS.register(new BazaarChatCleanup());
5047
MinecraftForge.EVENT_BUS.register(new TrevorCooldown());
@@ -55,7 +52,7 @@ public void onFMLInitialization(net.minecraftforge.fml.common.event.FMLInitializ
5552
MinecraftForge.EVENT_BUS.register(new SecretClickSounds());
5653
MinecraftForge.EVENT_BUS.register(new WitherShieldSound());
5754
MinecraftForge.EVENT_BUS.register(new FetchOnServerJoin());
58-
MinecraftForge.EVENT_BUS.register(new CreateGhostPick());
55+
MinecraftForge.EVENT_BUS.register(new DungeonsTerminalDisplay());
5956

6057

6158
CommandManager.INSTANCE.registerCommand(new Owa());
Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
package com.ownwn.ownwnaddons.commands;
22

33
import cc.polyfrost.oneconfig.libs.universal.UChat;
4-
import cc.polyfrost.oneconfig.utils.NetworkUtils;
54
import cc.polyfrost.oneconfig.utils.commands.annotations.*;
6-
import com.google.gson.JsonObject;
75
import com.ownwn.ownwnaddons.OwnwnAddons;
86
import com.ownwn.ownwnaddons.utils.HttpRequest;
9-
import com.ownwn.ownwnaddons.utils.NewConfig;
107
import com.ownwn.ownwnaddons.utils.Utils;
11-
import net.minecraft.client.Minecraft;
128

139
@Command(value = "owa", description = "Access the " + OwnwnAddons.NAME + " GUI.", customHelpMessage = OwnwnAddons.HELP)
1410
public class Owa {
15-
public String rank = "";
1611
public static boolean devMode = false;
1712
@Main
1813
private static void main() {
@@ -65,64 +60,4 @@ private void devtest() {
6560
devMode = true;
6661
UChat.chat(OwnwnAddons.PREFIX + "&bEnabled &adev mode");
6762
}
68-
69-
@SubCommand(description = "Gets the player's Hypixel rank")
70-
@SuppressWarnings("SameParameterValue")
71-
private void getrank() {
72-
UChat.chat(OwnwnAddons.PREFIX + "&bFetching rank...");
73-
if (NewConfig.HYPIXEL_API_KEY.equals("")) {
74-
UChat.chat(OwnwnAddons.PREFIX + "&cYour Hypixel API key isn't set! For now you need to manually set it in &b/owa");
75-
return;
76-
}
77-
Thread T = new Thread(() -> {
78-
JsonObject playerData;
79-
try {
80-
81-
82-
playerData = NetworkUtils.getJsonElement("https://api.hypixel.net/player?uuid=" + Minecraft.getMinecraft().thePlayer.getUniqueID() + "&key=" + NewConfig.HYPIXEL_API_KEY).getAsJsonObject().get("player").getAsJsonObject();
83-
84-
playerData.get("playername").getAsString();
85-
86-
} catch (NullPointerException noData) {
87-
UChat.chat(OwnwnAddons.PREFIX + "&cError getting player data! Perhaps the Hypixel API is down?");
88-
noData.printStackTrace();
89-
return;
90-
}
91-
92-
try { // check if has a rank
93-
playerData.get("newPackageRank").getAsString();
94-
} catch (NullPointerException defaultRank) {
95-
setRank(1);
96-
return;
97-
}
98-
99-
if (playerData.get("monthlyPackageRank").getAsString().equals("SUPERSTAR")) { // check if has mvp++
100-
setRank(6);
101-
} else {
102-
// just get the rank
103-
rank = playerData.get("newPackageRank").getAsString();
104-
switch (rank) {
105-
case "VIP":
106-
setRank(2);
107-
break;
108-
case "VIP_PLUS":
109-
setRank(3);
110-
break;
111-
case "MVP":
112-
setRank(4);
113-
break;
114-
case "MVP_PLUS":
115-
setRank(5);
116-
break;
117-
}
118-
}
119-
120-
});
121-
T.start();
122-
}
123-
124-
public void setRank(int rank) {
125-
NewConfig.PLAYER_HYPIXEL_RANK = rank;
126-
UChat.chat(OwnwnAddons.PREFIX + "&bSuccessfully set rank!");
127-
}
12863
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package com.ownwn.ownwnaddons.features;
2+
3+
import cc.polyfrost.oneconfig.hud.SingleTextHud;
4+
import com.ownwn.ownwnaddons.utils.NewConfig;
5+
import net.minecraftforge.client.event.ClientChatReceivedEvent;
6+
import net.minecraftforge.event.world.WorldEvent;
7+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
8+
9+
import java.util.regex.Matcher;
10+
import java.util.regex.Pattern;
11+
12+
public class DungeonsTerminalDisplay extends SingleTextHud {
13+
14+
public static String returnText = "";
15+
public static String completedTerms = "(§r§c???§a)";
16+
public static boolean deviceDone = false;
17+
18+
19+
20+
public DungeonsTerminalDisplay() {
21+
super("Terminals", false);
22+
}
23+
24+
@Override
25+
public String getText(boolean example) {
26+
if (example) return "§b" + "(5/7)§aDevice: §aYES";
27+
return returnText;
28+
}
29+
30+
31+
@SubscribeEvent
32+
public void onChat(ClientChatReceivedEvent event) {
33+
34+
35+
String msg = event.message.getFormattedText();
36+
37+
switch (msg) {
38+
case "§r§4[BOSS] Goldor§r§c: §r§cThe little ants have a brain it seems.§r":
39+
case "§r§4[BOSS] Goldor§r§c: §r§cI will replace that gate with a stronger one!§r":
40+
case "§r§4[BOSS] Goldor§r§c: §r§cYOUR END IS NEAR!!§r":
41+
case "§r§4[BOSS] Goldor§r§c: §r§cWho dares trespass into my domain?§r":
42+
reset();
43+
break;
44+
case "§r§aThe Core entrance is opening!§r": // p3 over
45+
deviceDone = false;
46+
NewConfig.dungeonsTerminalDisplay.enabled = false;
47+
break;
48+
49+
}
50+
51+
if (!msg.contains("activated a") && !msg.contains("completed a")) {
52+
if (returnText.equals("")) {
53+
returnText = "§a" + completedTerms +
54+
" §rDevice: §4NO";
55+
return;
56+
}
57+
}
58+
59+
Matcher activatedMatcher = Pattern.compile("§r§.+§r§a activated a .+! (\\(§r§c\\d§r§a/\\d\\))§r").matcher(msg);
60+
Matcher completedMatcher = Pattern.compile("§r§.+§r§a completed a device! (\\(§r§c\\d§r§a/\\d\\))§r").matcher(msg);
61+
if (activatedMatcher.find()) {
62+
completedTerms = activatedMatcher.group(1);
63+
} else if (completedMatcher.find()) {
64+
completedTerms = completedMatcher.group(1);
65+
deviceDone = true;
66+
}
67+
68+
69+
if (deviceDone) {
70+
returnText = "§a" + completedTerms +
71+
" §rDevice: §aYES";
72+
73+
} else {
74+
returnText = "§a" + completedTerms +
75+
" §rDevice: §4NO";
76+
}
77+
78+
}
79+
80+
@SubscribeEvent
81+
public void onWorldLoad(WorldEvent.Load event) {
82+
if (NewConfig.dungeonsTerminalDisplay.isEnabled()) {
83+
NewConfig.dungeonsTerminalDisplay.enabled = false;
84+
}
85+
86+
}
87+
public void reset() {
88+
NewConfig.dungeonsTerminalDisplay.enabled = true;
89+
completedTerms = "(§r§c???§a)";
90+
deviceDone = false;
91+
}
92+
93+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.ownwn.ownwnaddons.features;
2+
3+
public class OwaDevMode {
4+
// @Subscribe
5+
// public void onPacket(SendPacketEvent event) {
6+
// if (!Owa.devMode) {
7+
// return;
8+
// }
9+
// String packet = event.packet.toString();
10+
// if (packet.contains("PacketEntityHead") || packet.contains("PacketEntityRelMove") || packet.contains("PacketKeepAlive") || packet.contains("PacketTimeUpdate") || packet.contains("PacketEntityTeleport") || packet.contains("BlockChange") || packet.contains("PacketChat") || packet.contains("PacketChunkData")) {
11+
// return;
12+
// }
13+
// if (packet.contains("minecraft.network.play.client.C03PacketPlayer@") || packet.contains("PacketPlayerPosition") || packet.contains("PacketPlayerLook")) {
14+
// return;
15+
// }
16+
//
17+
// UChat.chat(event.packet);
18+
// }
19+
}

src/main/java/com/ownwn/ownwnaddons/features/TrevorCooldown.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
public class TrevorCooldown extends SingleTextHud {
88

99
public TrevorCooldown() {
10-
super("Trevor Cooldown", true);
10+
super("Trevor Cooldown", false);
1111
}
1212

1313
@Override

src/main/java/com/ownwn/ownwnaddons/features/chat/TrevorLootTracker.java renamed to src/main/java/com/ownwn/ownwnaddons/features/TrevorLootTracker.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
package com.ownwn.ownwnaddons.features.chat;
1+
package com.ownwn.ownwnaddons.features;
22

33
import cc.polyfrost.oneconfig.hud.TextHud;
4+
import com.ownwn.ownwnaddons.features.chat.TrevorChatCleanup;
45

56
import java.util.List;
67

78
public class TrevorLootTracker extends TextHud {
89

910
public TrevorLootTracker() {
10-
super(true);
11+
super(false);
1112
}
1213

1314
@Override

src/main/java/com/ownwn/ownwnaddons/features/chat/CustomChat.java renamed to src/main/java/com/ownwn/ownwnaddons/features/chat/CustomName.java

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import net.minecraft.client.Minecraft;
55
import net.minecraft.util.ChatComponentText;
66
import net.minecraftforge.client.event.ClientChatReceivedEvent;
7+
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
78
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
89

910
import java.util.regex.Matcher;
1011
import java.util.regex.Pattern;
1112

12-
public class CustomChat {
13+
public class CustomName {
1314

1415
@SubscribeEvent
1516
public void onChat(ClientChatReceivedEvent event) {
@@ -23,23 +24,20 @@ public void onChat(ClientChatReceivedEvent event) {
2324

2425
String player = Minecraft.getMinecraft().thePlayer.getName();
2526
String msg = event.message.getFormattedText();
26-
String newMsg = "";
27+
2728

2829
if (!msg.contains(player)) {
2930
return;
3031
}
3132

33+
String newMsg = "";
3234
String newCustomName = NewConfig.CUSTOM_NAME_EDITOR.replace("&&", "§");
33-
34-
if (NewConfig.CUSTOM_NAME_MODE) {
35-
newMsg = msg.replace(player, newCustomName);
36-
event.message = new ChatComponentText(newMsg).setChatStyle(event.message.getChatStyle());
37-
return;
38-
}
35+
String newCustomRank = NewConfig.CUSTOM_RANK_EDITOR.replace("&&", "§");
3936

4037
Matcher noPlusMatcher = Pattern.compile("(§b\\[MVP]|§a\\[VIP]) (" + player + ")").matcher(msg); // for vip or mvp
4138
Matcher defaultMatcher = Pattern.compile("((§7)+" + player + ")").matcher(msg); // for players without a rank (grey name)
4239
Matcher rankMatcher = Pattern.compile("((§b|§6)\\[MVP(§r)*§.\\+{1,2}(§r)*(§b|§6)]|§a\\[VIP(§r)*§6\\+(§r)*§a]) (" + player + ")").matcher(msg); // for players with vip+/mvp+/mvp++
40+
Matcher missingRankMatcher = Pattern.compile("(§." + player + ")").matcher(msg); // for replacing just the name and one colour code
4341

4442
if (NewConfig.PLAYER_HYPIXEL_RANK == 1) { // default rank
4543
if (defaultMatcher.find()) {
@@ -50,7 +48,7 @@ public void onChat(ClientChatReceivedEvent event) {
5048
} else if (NewConfig.PLAYER_HYPIXEL_RANK == 2 || NewConfig.PLAYER_HYPIXEL_RANK == 4) { // MVP/VIP
5149
if (noPlusMatcher.find()) {
5250
if (NewConfig.NAME_REPLACE_RANK) {
53-
newMsg = msg.replace(noPlusMatcher.group(0), newCustomName);
51+
newMsg = msg.replace(noPlusMatcher.group(0), newCustomRank+ " " + newCustomName);
5452
} else {
5553
newMsg = msg.replace(noPlusMatcher.group(2), newCustomName);
5654
}
@@ -59,19 +57,45 @@ public void onChat(ClientChatReceivedEvent event) {
5957
} else { // VIP+/MVP+/MVP++
6058
if (rankMatcher.find()) {
6159
if (NewConfig.NAME_REPLACE_RANK) {
62-
newMsg = msg.replace(rankMatcher.group(0), newCustomName);
60+
newMsg = msg.replace(rankMatcher.group(0), newCustomRank + " " + newCustomName);
6361
} else {
6462
newMsg = msg.replace(rankMatcher.group(8), newCustomName);
6563
}
6664
}
6765
}
6866

6967

68+
if (newMsg.equals("")) {
69+
if (missingRankMatcher.find() && NewConfig.CUSTOM_NAME_AGGRO) {
70+
newMsg = msg.replace(missingRankMatcher.group(1), newCustomName + "§r");
71+
}
72+
}
7073
if (newMsg.equals("")) {
7174
return;
7275
}
7376

7477
event.message = new ChatComponentText(newMsg).setChatStyle(event.message.getChatStyle()); // replace msg
7578

79+
}
80+
81+
@SubscribeEvent
82+
public void renderTooltip(ItemTooltipEvent event) {
83+
if (!NewConfig.CUSTOM_NAME_TOOLTIPS) {
84+
return;
85+
}
86+
if (event.toolTip.isEmpty()) {
87+
return;
88+
}
89+
String name = Minecraft.getMinecraft().thePlayer.getName();
90+
String newCustomName = NewConfig.CUSTOM_NAME_EDITOR.replace("&&", "§");
91+
92+
for (int i = 0; i < event.toolTip.size(); i++) {
93+
if (event.toolTip.get(i).contains(name)) {
94+
event.toolTip.replaceAll(s -> s.replace(name, newCustomName + "§r"));
95+
return;
96+
}
97+
}
98+
99+
76100
}
77101
}

src/main/java/com/ownwn/ownwnaddons/features/chat/SylveoonDiscordChat.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
public class SylveoonDiscordChat {
1313
@SubscribeEvent(priority = EventPriority.LOW)
1414
public void onChat(ClientChatReceivedEvent event) {
15-
if (!NewConfig.GUILD_MSG_PRETTY) {
15+
if (!NewConfig.GUILD_MSG_PRETTY.contains("NAME") || !NewConfig.GUILD_MSG_PRETTY.contains("MSG")) {
1616
return;
1717
}
1818

@@ -22,15 +22,14 @@ public void onChat(ClientChatReceivedEvent event) {
2222
if (!msg.contains("Sylveoon")) {
2323
return;
2424
}
25-
Matcher shortPrefix = Pattern.compile("§r§r§r§2G > §7Sylveoon §3\\[ADMIN]§f: §r(.+): (.+)§r").matcher(msg);
26-
Matcher standardPrefix = Pattern.compile("§r§2Guild > §7Sylveoon §3\\[ADMIN]§f: §r(.+): (.+)§r").matcher(msg);
2725

28-
if (standardPrefix.find()) {
29-
newMsg = "§1Discord > §3" + standardPrefix.group(1) + "§f: " + standardPrefix.group(2);
30-
} else if (shortPrefix.find()) {
31-
newMsg = "§1Discord > §3" + shortPrefix.group(1) + "§f: " + shortPrefix.group(2);
32-
}
33-
if (newMsg.equals("")) {
26+
String msgReplace = NewConfig.GUILD_MSG_PRETTY.replace("&&", "§");
27+
Matcher discordPrefix = Pattern.compile("§r§2Guild > §7Sylveoon §3\\[ADMIN]§f: §r(.+?): (.+)§r").matcher(msg);
28+
29+
if (discordPrefix.find()) {
30+
//newMsg = "§1Discord > §3" + standardPrefix.group(1) + "§f: " + standardPrefix.group(2);
31+
newMsg = msgReplace.replace("NAME", discordPrefix.group(1)).replace("MSG", discordPrefix.group(2));
32+
} else {
3433
return;
3534
}
3635

src/main/java/com/ownwn/ownwnaddons/utils/FetchOnServerJoin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public void getHypixelRank(TickEvent.ClientTickEvent event) {
4545
if (Minecraft.getMinecraft().thePlayer == null) {
4646
return;
4747
}
48-
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(OwnwnAddons.PREFIX + "§aYour Hypixel rank isn't set! set it by §eclicking here §aor with §b/owa getrank").setChatStyle(new ChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/owa getrank"))));
48+
UChat.chat(OwnwnAddons.PREFIX + "&aYour Hypixel rank isn't set! The custom name thingo will not work without it.\n &aSet it in &b/owa");
4949
getRankTime = 0;
5050
}
5151

0 commit comments

Comments
 (0)