2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ authors=ModFest
contributors=Prospector, Sisby folk, acikek
license=MIT
# Mod Version
baseVersion=0.6.0
baseVersion=0.6.1
# Branch Metadata
branch=1.21
tagBranch=1.21
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/net/modfest/ballotbox/BallotBoxConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public class BallotBoxConfig extends ReflectiveConfig {
public final TrackedValue<Integer> awardLimit = value(8);
@Comment("The closing date, as an ISO local date time - or an empty string for none")
public final TrackedValue<String> closingTime = value("2024-12-16T12:00:00");
@Comment("Settings for the reminder on the pause screen")
public final ReminderSettings reminder_settings = new ReminderSettings();


public static class ButtonSettings extends Section {
Expand All @@ -45,4 +47,13 @@ public ButtonSettings(List<String> target, boolean mainMenu, boolean pauseScreen
this.apply_in_pause_screen = value(pauseScreen);
}
}

public static class ReminderSettings extends Section {
public final TrackedValue<Integer> reminder_x_offset;
public final TrackedValue<Integer> reminder_y_offset;
public ReminderSettings() {
this.reminder_x_offset = value(0);
this.reminder_y_offset = value(0);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,13 @@ private void addReminder(DrawContext context, int mouseX, int mouseY, float delt
if (ballotbox$voteButton == null) return;
ballotbox$voteButton.active = BallotBoxClient.isOpen();
if (BallotBoxClient.isOpen() && BallotBoxClient.remainingVotes > 0) {
int xOffset = BallotBox.CONFIG.reminder_settings.reminder_x_offset.value();
int yOffset = BallotBox.CONFIG.reminder_settings.reminder_y_offset.value();
Text remainingText = Text.literal("%s vote%s available!".formatted(BallotBoxClient.remainingVotes, BallotBoxClient.remainingVotes > 1 ? "s" : "")).formatted(Formatting.GREEN);
context.drawText(MinecraftClient.getInstance().textRenderer, remainingText, ballotbox$voteButton.getX() - MinecraftClient.getInstance().textRenderer.getWidth(remainingText) - 2, ballotbox$voteButton.getY() + 2, 0xFFFFFFFF, true);
context.drawText(MinecraftClient.getInstance().textRenderer, remainingText, ballotbox$voteButton.getX() - MinecraftClient.getInstance().textRenderer.getWidth(remainingText) - 2 + xOffset, ballotbox$voteButton.getY() + 2 + yOffset, 0xFFFFFFFF, true);
if (BallotBoxClient.closingTime != null) {
Text timeText = Text.literal("Closes %s.".formatted(BallotBox.relativeTime(BallotBoxClient.closingTime))).formatted(Formatting.YELLOW);
context.drawText(MinecraftClient.getInstance().textRenderer, timeText, ballotbox$voteButton.getX() - MinecraftClient.getInstance().textRenderer.getWidth(timeText) - 2, ballotbox$voteButton.getY() + 10, 0xFFFFFFFF, true);
context.drawText(MinecraftClient.getInstance().textRenderer, timeText, ballotbox$voteButton.getX() - MinecraftClient.getInstance().textRenderer.getWidth(timeText) - 2 + xOffset, ballotbox$voteButton.getY() + 10 + yOffset, 0xFFFFFFFF, true);
}
}
}
Expand Down