Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import static java.lang.System.currentTimeMillis;
import static java.util.Optional.ofNullable;
import static java.util.regex.Pattern.compile;
import static net.minecraft.ChatFormatting.GOLD;
import static net.minecraft.ChatFormatting.GRAY;
import static net.minecraft.ChatFormatting.RED;
import static net.minecraft.ChatFormatting.UNDERLINE;
Expand All @@ -42,6 +43,7 @@ public class EconomyListener implements IMessageReceiveListener {
private static final Pattern BANK_TRANSFER_FBANK_PATTERN = compile("^Du hast der Fraktion (?<faction>.+) (?<amount>\\d+)\\$ überwiesen!$");
private static final Pattern BANK_NEW_BALANCE_BANK_PATTERN = compile("^Neuer Bankkontostand: (?<amount>\\d+)\\$$");
private static final Pattern BANK_NEW_BALANCE_CASH_PATTERN = compile("^Neuer Bargeldbestand: (?<amount>\\d+)\\$$");
private static final Pattern BANK_DEPOSIT_ATM_TOO_MUCH_PATTERN = compile("^Du versuchst (?<amount>\\d+)\\$ einzuzahlen, der Bankautomat hat aber nur Platz für (?<availableAmount>\\d+)\\$\\. Fortfahren\\? \\[Bestätigen]$");

// cash
private static final Pattern CASH_GIVE_PATTERN = compile("^Du hast (?:\\[UC])?(?<playerName>[a-zA-Z0-9_]+) (?<amount>\\d+)\\$ gegeben!$");
Expand Down Expand Up @@ -147,6 +149,22 @@ public boolean onMessageReceive(Component text, String message) {
return true;
}

Matcher bankDepositAtmTooMuchMatcher = BANK_DEPOSIT_ATM_TOO_MUCH_PATTERN.matcher(message);
if (bankDepositAtmTooMuchMatcher.find()) {
int availableAmount = parseInt(bankDepositAtmTooMuchMatcher.group("availableAmount"));

MutableComponent modified = text.copy()
.append(SPACE)
.append(literal("[" + availableAmount + "$ einzahlen]").withStyle(style -> style
.withColor(GOLD)
.withClickEvent(new ClickEvent.RunCommand("/bank einzahlen " + availableAmount))
.withHoverEvent(new HoverEvent.ShowText(literal("Nur " + availableAmount + "$ einzahlen").withStyle(GOLD)))));

player.sendSystemMessage(modified);

return false;
}

Matcher cashGiveMatcher = CASH_GIVE_PATTERN.matcher(message);
if (cashGiveMatcher.find()) {
int amount = parseInt(cashGiveMatcher.group("amount"));
Expand Down