Compare commits
7 commits
Author | SHA1 | Date | |
---|---|---|---|
3847d02334 | |||
9ee73d1f70 | |||
25cef50037 | |||
de25c54a36 | |||
d49ab7de65 | |||
afdb994bb0 | |||
3a681fad61 |
3 changed files with 118 additions and 97 deletions
|
@ -29,4 +29,10 @@ jobs:
|
||||||
curl -L "$JRE17_URL" | tar -xz -C "$INSTALL_DIR"
|
curl -L "$JRE17_URL" | tar -xz -C "$INSTALL_DIR"
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
run: JDK8=/opt/java/zulu8.84.0.15-ca-jdk8.0.442-linux_x64 JAVA_HOME=/opt/java/zulu17.56.15-ca-jre17.0.14-linux_x64 ./gradlew check
|
run: JDK8=/opt/java/zulu8.84.0.15-ca-jdk8.0.442-linux_x64 JAVA_HOME=/opt/java/zulu17.56.15-ca-jre17.0.14-linux_x64 ./gradlew build
|
||||||
|
|
||||||
|
- name: capture build artifacts
|
||||||
|
uses: https://code.forgejo.org/forgejo/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Artifacts
|
||||||
|
path: 'build/libs'
|
|
@ -3,5 +3,5 @@ org.gradle.jvmargs=-Xmx2g
|
||||||
baseGroup = xyz.stachel.bonzotimer
|
baseGroup = xyz.stachel.bonzotimer
|
||||||
mcVersion = 1.8.9
|
mcVersion = 1.8.9
|
||||||
modid = bonzo-timer
|
modid = bonzo-timer
|
||||||
version = 1.3.0
|
version = 1.4.0
|
||||||
org.gradle.java.installations.fromEnv=JDK8,JRE17
|
org.gradle.java.installations.fromEnv=JDK8,JRE17
|
||||||
|
|
|
@ -15,16 +15,16 @@ import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class ChatHandler {
|
public class ChatHandler {
|
||||||
private static final String PLAYER_PATTERN = "(?:\\[(?:VIP\\+?|MVP\\+{0,2}|YOUTUBE|MOD|ADMIN)\\] )?([a-zA-Z0-9_]{2,16})";
|
private static final String IGN_PATTERN = "([a-zA-Z0-9_]{2,16})";
|
||||||
|
private static final String PLAYER_PATTERN = "(?:\\[(?:VIP\\+?|MVP\\+{0,2}|YOUTUBE|MOD|ADMIN)\\] )?" + IGN_PATTERN;
|
||||||
private static final Pattern PARTY_PATTERN = Pattern.compile("Party > " + PLAYER_PATTERN + ": (.*)");
|
private static final Pattern PARTY_PATTERN = Pattern.compile("Party > " + PLAYER_PATTERN + ": (.*)");
|
||||||
private static final Pattern TRANSFER_PATTERN = Pattern.compile("The party was transferred to " + PLAYER_PATTERN +" by " + PLAYER_PATTERN);
|
private static final Pattern TRANSFER_PATTERN = Pattern.compile("The party was transferred to " + PLAYER_PATTERN +" by " + PLAYER_PATTERN);
|
||||||
|
private static final Pattern TRANSFER_LEAVE_PATTERN = Pattern.compile("The party was transferred to " + PLAYER_PATTERN + " because " + PLAYER_PATTERN + "left");
|
||||||
private static final Pattern PROMOTE_PATTERN = Pattern.compile(PLAYER_PATTERN + " has promoted " + PLAYER_PATTERN + " to Party Leader");
|
private static final Pattern PROMOTE_PATTERN = Pattern.compile(PLAYER_PATTERN + " has promoted " + PLAYER_PATTERN + " to Party Leader");
|
||||||
private static final Pattern LEAVE_PATTERN = Pattern.compile(PLAYER_PATTERN + " has left the party.");
|
private static final Pattern LEAVE_PATTERN = Pattern.compile(PLAYER_PATTERN + " has left the party.");
|
||||||
//private static final String[] COLOR_MAPPING = { "§6ORANGE", "§aGREEN", "§4RED" ,"§9BLUE", "§5PRPLX" };
|
private static final Pattern LEAP_PATTERN = Pattern.compile("You have teleported to " + IGN_PATTERN + "!");
|
||||||
private int transferCountdown = 0;
|
private int transferCountdown = 0;
|
||||||
private boolean autotransferEnabled = false;
|
private boolean autotransferEnabled = false;
|
||||||
//private int colorChangeCooldown = 0;
|
|
||||||
//private int color = 0;
|
|
||||||
private String oldLeader = null;
|
private String oldLeader = null;
|
||||||
private HashMap<String, Byte> rejoiners = new HashMap<>();
|
private HashMap<String, Byte> rejoiners = new HashMap<>();
|
||||||
|
|
||||||
|
@ -34,12 +34,6 @@ public class ChatHandler {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onTick(TickEvent.@NotNull ClientTickEvent event) {
|
public void onTick(TickEvent.@NotNull ClientTickEvent event) {
|
||||||
/*if (colorChangeCooldown > 0) {
|
|
||||||
colorChangeCooldown--;
|
|
||||||
} else {
|
|
||||||
color = 0;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
if (transferCountdown > 1) {
|
if (transferCountdown > 1) {
|
||||||
transferCountdown--;
|
transferCountdown--;
|
||||||
} else if (transferCountdown == 1 && Minecraft.getMinecraft().thePlayer != null && this.oldLeader != null) {
|
} else if (transferCountdown == 1 && Minecraft.getMinecraft().thePlayer != null && this.oldLeader != null) {
|
||||||
|
@ -55,6 +49,27 @@ public class ChatHandler {
|
||||||
if (event.type == 2) return;
|
if (event.type == 2) return;
|
||||||
final String strippedMessage = event.message.getUnformattedText().replaceAll("§[0-9a-fklmnor]", "").trim();
|
final String strippedMessage = event.message.getUnformattedText().replaceAll("§[0-9a-fklmnor]", "").trim();
|
||||||
|
|
||||||
|
branched: {
|
||||||
|
|
||||||
|
literal: switch (strippedMessage) {
|
||||||
|
case "Your Bonzo's Mask saved your life!":
|
||||||
|
case "Your ⚚ Bonzo's Mask saved your life!":
|
||||||
|
Timer.setInstance(new Timer((byte) 60));
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Bonzo's Mask popped (3s)");
|
||||||
|
break branched;
|
||||||
|
case "Second Wind Activated! Your Spirit Mask saved your life!":
|
||||||
|
case "Second Wind Activated! Your ⚚ Spirit Mask saved your life!":
|
||||||
|
Timer.setInstance(new Timer((byte) 60));
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Spirit Mask popped (3s)");
|
||||||
|
break branched;
|
||||||
|
case "Your Phoenix Pet saved you from certain death!":
|
||||||
|
Timer.setInstance(new Timer((byte) 60));
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Phoenix pet popped (3s)");
|
||||||
|
break branched;
|
||||||
|
default:
|
||||||
|
break literal;
|
||||||
|
};
|
||||||
|
|
||||||
if (autotransferEnabled) {
|
if (autotransferEnabled) {
|
||||||
final Matcher transfer = TRANSFER_PATTERN.matcher(strippedMessage);
|
final Matcher transfer = TRANSFER_PATTERN.matcher(strippedMessage);
|
||||||
final Matcher promote = PROMOTE_PATTERN.matcher(strippedMessage);
|
final Matcher promote = PROMOTE_PATTERN.matcher(strippedMessage);
|
||||||
|
@ -67,8 +82,9 @@ public class ChatHandler {
|
||||||
newLeader = promote.group(2);
|
newLeader = promote.group(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!newLeader.equals("") && newLeader.equals(Minecraft.getMinecraft().thePlayer.getName())) {
|
if (!newLeader.isEmpty() && newLeader.equals(Minecraft.getMinecraft().thePlayer.getName())) {
|
||||||
this.transferCountdown = 10;
|
this.transferCountdown = 10;
|
||||||
|
break branched;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,69 +94,68 @@ public class ChatHandler {
|
||||||
final String user = partyChat.group(1);
|
final String user = partyChat.group(1);
|
||||||
switch (partyMessage) {
|
switch (partyMessage) {
|
||||||
case "!warp":
|
case "!warp":
|
||||||
|
case "!w":
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p warp");
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p warp");
|
||||||
break;
|
break branched;
|
||||||
case "!help":
|
case "!help":
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("Commands: !warp, !m7, !f7, !ptme, !allinv");
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Commands: !warp, !m7, !f7, !ptme, !allinv, !reinv");
|
||||||
break;
|
break branched;
|
||||||
case "!m7":
|
case "!m7":
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon master_catacombs_floor_seven");
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon master_catacombs_floor_seven");
|
||||||
break;
|
break branched;
|
||||||
case "!f7":
|
case "!f7":
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon catacombs_floor_seven");
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon catacombs_floor_seven");
|
||||||
break;
|
break branched;
|
||||||
case "!allinvite":
|
case "!allinvite":
|
||||||
case "!allinv":
|
case "!allinv":
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p settings allinvite");
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p settings allinvite");
|
||||||
break;
|
break branched;
|
||||||
case "!reinv":
|
case "!reinv":
|
||||||
rejoiners.put(user, (byte) 100);
|
rejoiners.put(user, (byte) 100);
|
||||||
break;
|
break branched;
|
||||||
case "!ptme":
|
case "!ptme":
|
||||||
|
case "!pt":
|
||||||
event.message.appendSibling(
|
event.message.appendSibling(
|
||||||
new ChatComponentText(" [ACCEPT]")
|
new ChatComponentText(" [ACCEPT]")
|
||||||
.setChatStyle(new ChatStyle()
|
.setChatStyle(new ChatStyle()
|
||||||
.setChatClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/p transfer " + user))
|
.setChatClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/p transfer " + user))
|
||||||
.setColor(EnumChatFormatting.RED).setBold(true))
|
.setColor(EnumChatFormatting.RED).setBold(true))
|
||||||
);
|
);
|
||||||
break;
|
break branched;
|
||||||
|
case "?m7":
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Please select the MAGE or BERSERK dungeon class and stay with the tank while trying to reach MILESTONE 3. After reaching milestone 3, please run /hub, you will be warped back later! :D");
|
||||||
|
break branched;
|
||||||
|
case "?help":
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Helper messages: ?m7");
|
||||||
|
break branched;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
switch (strippedMessage) {
|
|
||||||
case "Your Bonzo's Mask saved your life!":
|
|
||||||
case "Your ⚚ Bonzo's Mask saved your life!":
|
|
||||||
Timer.setInstance(new Timer((byte) 60));
|
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("Bonzo's Mask popped (3s)");
|
|
||||||
break;
|
|
||||||
case "Second Wind Activated! Your Spirit Mask saved your life!":
|
|
||||||
case "Second Wind Activated! Your ⚚ Spirit Mask saved your life!":
|
|
||||||
Timer.setInstance(new Timer((byte) 60));
|
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("Spirit Mask popped (3s)");
|
|
||||||
break;
|
|
||||||
case "Your Phoenix Pet saved you from certain death!":
|
|
||||||
Timer.setInstance(new Timer((byte) 60));
|
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("Phoenix pet popped (3s)");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
final Matcher leave = LEAVE_PATTERN.matcher(strippedMessage);
|
final Matcher leave = LEAVE_PATTERN.matcher(strippedMessage);
|
||||||
if (leave.matches()) {
|
if (leave.matches()) {
|
||||||
final String leaver = leave.group(1).trim();
|
final String leaver = leave.group(1).trim();
|
||||||
if (rejoiners.getOrDefault(leaver, (byte) 0) != 0) {
|
if (rejoiners.getOrDefault(leaver, (byte) 0) != 0) {
|
||||||
Minecraft.getMinecraft().thePlayer.sendChatMessage("/party invite " + leaver);
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/party invite " + leaver);
|
||||||
}
|
}
|
||||||
}
|
break branched;
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
final Matcher transLeave = TRANSFER_LEAVE_PATTERN.matcher(strippedMessage);
|
||||||
/* private void changeColor(final int color) {
|
if (transLeave.matches()) {
|
||||||
if (this.color < color || this.colorChangeCooldown == 0) {
|
final String leaver = transLeave.group(2).trim();
|
||||||
this.color = color;
|
if (rejoiners.getOrDefault(leaver, (byte) 0) != 0) {
|
||||||
this.colorChangeCooldown = 10;
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("/party invite " + leaver);
|
||||||
final String title = ChatHandler.COLOR_MAPPING[color-1];
|
}
|
||||||
Minecraft.getMinecraft().ingameGUI.displayTitle(title, "", 0, 5, 1);
|
break branched;
|
||||||
|
};
|
||||||
|
|
||||||
|
final Matcher leap = LEAP_PATTERN.matcher(strippedMessage);
|
||||||
|
if (leap.matches()) {
|
||||||
|
final String target = leap.group(1).trim();
|
||||||
|
Minecraft.getMinecraft().thePlayer.sendChatMessage("Gonna touch " + target + ".");
|
||||||
|
break branched;
|
||||||
|
}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue