Skip to content
Merged
Show file tree
Hide file tree
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
132 changes: 132 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,138 @@

## Unreleased

## Version 1.0.0

### New Features

#### Misc

+ Open menus now update themselves when Towny changes what they show: residents joining or leaving, land being claimed,
ranks, bank transactions, plot settings, deletions, and the new day. Turn this off with `live-menu-refresh`.
+ TownyMenu now announces in chat when you are invited to a town, your town is invited to a nation, your nation is asked
for an alliance, or your town goes bankrupt or falls into ruin. Each message opens the menu that answers it. Turn this
off with `towny-alerts`.
+ Added `/townymenu invites`, which opens the invites menu.

#### Main Menu

+ Added Leaderboards: towns and nations ranked by residents, land, and bank balance, players ranked by the plots they
own, and the richest residents of your town and nation.
+ Added Prices & New Day: a countdown to the next Towny day and what the server charges for founding, claiming, upkeep,
plots, and taxes.

#### Town Menu

+ Clicking your town at the top of the town menu opens its status: level and what the next level needs, claim and
outpost limits, the nation zone, and the upkeep due on the next new day.
+ Warnings for ruins, bankruptcy, conquest, overclaiming, and upkeep the bank cannot cover are shown there and on
the town icon.

+ Added a town jail menu: see prisoners and release them, jail online residents with a chosen sentence, bail, jail, and
cell, and list the town's jails.
+ Added Cede This Plot and Take Over Claim to the claims menu, for giving a chunk to another town and taking land from
an overclaimed town.
+ Added Merge into Your Town to other towns' pages, for mayors asking another town to merge into theirs.
+ Added Announce to Town to the residents menu.
+ Added a Nation Zone switch to town settings for towns that have a nation zone.
+ Residents of a ruined town can reclaim it from the town menu, and players without a town can reclaim ruins from Find a
Town when the server allows it.

#### Nation Menu

+ Clicking your nation at the top of the nation menu opens its status: level, what the next level needs, the bonuses
member towns receive, and the nation's daily upkeep.
+ Added sanctioned towns, under the nation's Towns menu: sanction towns outside the nation and lift sanctions.
+ Added Announce to Nation to the nation menu.

#### Plot Menu

+ Added Join-Day Limits, setting the fewest and most days a buyer must have lived in the town.
+ Added Jail Cells to jail plots, for adding and removing cells where you stand.
+ Added Player Overrides to plot permissions: add or remove players with their own permissions on a plot, and open
Towny's editor to change them.
+ Right-clicking Evict Owner now evicts the owner and puts the plot back up for sale.
+ Added Many Plots at Once: buy, sell, stop selling, or give up every plot in a square or circle around you, or give up
all your plots.
+ Added Make Outpost and Move Outpost Spawn for your town's claims.
+ Added a Plot HUD switch, and clicking the plot icon shows Towny's plot info in chat.
+ Right-clicking Rename Plot removes the plot's name.
+ Putting a plot up for sale now suggests the town's price for that plot type instead of 0.

#### Map

+ Right-clicking a plot for sale on the map buys it without walking there.

#### Resident Menu

+ Added My Plots, Daily Tax, Outlawed In, and Trusted In to the profile.
+ Added Display Modes to the profile, turning every mode off or restoring the server's defaults.
+ Added Chat Spy and Disable Admin Powers to personal settings for players allowed to use them.

#### Admin Menus

+ Added More Town Tools: town level, merging another town in, putting a town up for sale, removing conquered status,
checking outposts, resident ranks, outlaws, trusted residents, and trusted towns.
+ Added More Nation Tools: nation level, merging, moving a town in, rechecking town distances, sanctioned towns, and
resident ranks.
+ Added a plot menu for the chunk you stand in: claim it for a player, move it to another town, trust players, and
unclaim.
+ Added a Towny Permissions editor for `townyperms.yml`: permission groups and their nodes, and the town and nation
ranks mayors and leaders can hand out, including adding, removing, and renaming ranks.
+ Added purging inactive residents, checking a player's permission node, and depositing into every bank to the server
menu.

#### Tutorial

+ Added lessons on announcements, merging towns, ceding land, taking over claims, many plots at once, join-day limits,
player overrides, jailing players, nation sanctions, town and nation levels, your plots and taxes, leaderboards, and
prices.
+ The ruins, plot selling, plot groups, and display lessons now cover reclaiming, evicting for resale, group-wide
settings, and display modes.
+ The map, plot, buying, and outpost lessons now cover buying from the map, the Plot HUD, and making outposts.

### Improvements

#### Town Menu

+ The town directory can be sorted by distance from you, and then shows how far away each town's spawn is.

#### Misc

+ Menus now leave an empty row between their buttons and the bottom row holding the back button.
+ Lists show four rows of entries per page instead of five.

### Fixes

#### Plot Menu

+ Fixed selling, plot type, settings, permissions, and trust failing on plots in a plot group; on grouped plots they now
change the whole group, and their buttons say so.

#### Town Menu

+ Fixed the second row of the claims menu starting one slot too far right.

#### Misc

+ Fixed the back button covering the Outsiders: Switch button in the permissions menu.
+ Fixed a menu reopening over, or closing, another menu opened while a command was still finishing.
+ Fixed clicking a button twice quickly running its command twice, such as toggling PvP on and straight back off.
+ Fixed pressing Escape in a text dialog leaving no menu open; the dialog now closes only with Confirm or Cancel.
+ Removed the empty line at the end of the Visit, Found a Town, and Found a Nation icons.
+ Fixed a leading space in a resident's full name when they have a surname but no title.
+ Town and nation boards and resident about texts no longer show Towny's placeholder (`/town set board [msg]`,
`/res set about [msg]`) when none has been set, and the edit dialogs start empty instead of with the placeholder.

### Technical Details

#### Misc

+ `PermissionMenu` takes an optional `overrides` menu, and a `Toggle` with a `null` node is shown unguarded.
+ `TownyUtil` gained `duration` and `secondsUntilNewDay` for Towny's new-day countdown.
+ `ToggleMenu` splits more than 21 toggles into pages instead of asking for an inventory taller than six rows.
+ `Layout.add` logs and skips buttons beyond its slots instead of throwing, so an overfull grid no longer breaks a menu.

## Version 0.1.1

### Technical Details
Expand Down
8 changes: 4 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,10 @@ Extend `Menu` (or `PagedMenu` for lists) and implement `build()`, which runs on
- [.github/workflows/build.yml](.github/workflows/build.yml) builds every push and pull request.
- Releases are published when a commit that changes `plugin_version` lands on `master`:
[.github/workflows/release.yml](.github/workflows/release.yml) builds the jar, uses the matching
`## Version X.Y.Z` section of `CHANGELOG.md` as the release notes, creates the `vX.Y.Z` tag, and attaches the jar.
It skips forks, so the release appears in the organization repository the pull request is merged into. It does
nothing if the tag already exists. See [docs/RELEASING.md](docs/RELEASING.md). **Never create tags, and never merge
a version bump into the organization repository, unless explicitly asked** — that publishes a release.
`## Version X.Y.Z` section of `CHANGELOG.md` as the release notes, creates the `vX.Y.Z` tag, and attaches the jar. It
skips forks, so the release appears in the organization repository the pull request is merged into. It does nothing if
the tag already exists. See [docs/RELEASING.md](docs/RELEASING.md). **Never create tags, and never merge a version
bump into the organization repository, unless explicitly asked** — that publishes a release.

## Commit Convention

Expand Down
45 changes: 30 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,36 @@
lesson opens the menu it explains, every feature menu has a Tutorial button for its chapter, and reading progress is
saved. New players without a town are pointed to it when they join.
- **Town menu** — Residents and ranks, invites, the town bank, claims (single chunk, area, fill, outposts, unclaim,
bonus claims, auto-claim), PvP/mobs/fire/explosions/open/public/peaceful settings, name, board, tag, taxes, plot
prices, spawn and home block, map colour, selling the town, build permissions, trusted residents and towns, outlaws,
spawn and outpost teleports, and leaving or deleting the town.
bonus claims, auto-claim, ceding a chunk to another town, taking over claims), PvP/mobs/fire/explosions/open/public/
peaceful/nation zone settings, name, board, tag, taxes, plot prices, spawn and home block, map colour, selling the
town, build permissions, trusted residents and towns, outlaws, the jail (jailing and releasing prisoners, jails and
cells), announcements, merging towns, reclaiming ruins, spawn and outpost teleports, and leaving or deleting the town.
- **Nation menu** — Member towns and invitations, residents and nation ranks, the nation bank, allies and enemies,
peaceful/open/public settings, name, board, tag, taxes, capital, leader, spawn, map colour, and leaving or deleting
the nation.
- **Plot menu** — For the plot you stand in: buy, sell, give up, evict, plot type, name, PvP/fire/explosion/mob/tax
settings, build permissions, trusted players, plot groups and districts, and clearing the plot.
- **Profile menu** — Friends, personal plot permissions, a bio, bail, spawn, and every personal toggle (border titles,
auto map, auto claim, plot borders, info tool, and more).
sanctioned towns, announcements, peaceful/open/public settings, name, board, tag, taxes, capital, leader, spawn, map
colour, and leaving or deleting the nation.
- **Plot menu** — For the plot you stand in: buy, sell, give up, evict (and resell), plot type, name,
PvP/fire/explosion/mob/tax settings, build permissions and per-player overrides, trusted players, join-day limits,
jail cells, outposts, plot groups and districts, clearing the plot, the plot HUD, and buying, selling, or giving up
every plot in an area at once. On a plot in a group, these settings change the whole group.
- **Profile menu** — Friends, your plots, daily tax, the towns that outlaw or trust you, personal plot permissions, a
bio, bail, spawn, every personal toggle (border titles, auto map, auto claim, plot borders, info tool, chat spy, admin
bypass, and more), and clearing or resetting all modes at once.
- **Map** — A 9×5 chunk map around you, coloured by your town, your plots, your nation, allies, and enemies, with plots
for sale highlighted.
- **Directories** — Browse and rank every town and nation by residents, claims, bank balance, and more; visit, join,
donate, buy a town that is for sale, or propose alliances.
- **Invites** — Accept or decline town invites, nation invites for your town, and alliance requests in one place.
for sale highlighted; right-click one to buy it.
- **Status pages** — Click your town or nation to see its level, what the next level needs, its limits, the daily
upkeep, and warnings for debt, ruins, conquest, and overclaiming.
- **Leaderboards and prices** — Rank towns, nations, and players by residents, land, and money, and see every price on
the server with a countdown to the next Towny day.
- **Directories** — Browse and rank every town and nation by residents, claims, bank balance, distance, and more; visit,
join, donate, buy a town that is for sale, or propose alliances.
- **Invites** — Accept or decline town invites, nation invites for your town, and alliance requests in one place, or
open them from the chat alert TownyMenu sends when one arrives.
- **Live menus** — An open menu updates itself when Towny changes what it shows: a resident joins, land is claimed, the
bank moves, or the new day passes.
- **Admin menus** — Server admins can edit every setting in Towny's `config.yml` (grouped by section, searchable,
applied instantly), change per-world settings, run new days, backups, and reloads, manage any town, nation, or
resident, and change TownyMenu's own settings. Open them with `/tm admin` or from the main menu.
applied instantly) and `townyperms.yml` (groups, nodes, and the ranks mayors hand out), change per-world settings, run
new days, backups, reloads, and purges, manage any town, nation, resident, or plot — including levels, merges, sales,
sanctions, and ranks — and change TownyMenu's own settings. Open them with `/tm admin` or from the main menu.
- **English and Chinese** — Every menu, dialog, and message follows each player's Minecraft language (English or
Simplified Chinese). Server owners can edit the translations or add new languages.
- **Respects Towny** — Every action runs the matching Towny command, so Towny's permissions, costs, cooldowns, and
Expand Down Expand Up @@ -74,6 +86,7 @@ All commands are sub-commands of `/townymenu` (alias `/tm`).
| `/tm` | Open the main menu |
| `/tm help` | List all available commands |
| `/tm tutorial` | Open the tutorial |
| `/tm invites` | Answer town, nation, and alliance invitations |
| `/tm reload` | Reload the configuration and translations (OP only) |
| `/tm admin` | Open the admin menu (OP only) |

Expand All @@ -85,6 +98,8 @@ All commands are sub-commands of `/townymenu` (alias `/tm`).
| `language` | `auto` | `auto` follows each player's client language; `en_US` or `zh_CN` forces one |
| `sneak-swap-hand-shortcut` | `true` | Open the main menu by pressing swap-hand (F) while sneaking |
| `tutorial-join-hint` | `true` | Suggest the tutorial to players without a town when they join |
| `live-menu-refresh` | `true` | Update open menus when Towny changes what they show |
| `towny-alerts` | `true` | Announce invites, bankruptcy, and ruin in chat, linked to the right menu |

## Translations

Expand Down
Loading