
Better End Cities
Per-player Elytra Item Frames & Griefing Protection
Better End Cities
Every player gets the elytra, and the item frame stays an item frame.
In vanilla, the first player to reach an End Ship
takes the elytra and leaves the ship gutted.
Other elytra plugins and datapacks swap the ship's item frame for a vault block,
with no say in how the loot is handed out.
This plugin leaves the item frame a frame,
and you decide exactly how the elytra can be claimed.
| Vanilla | With this plugin |
|---|---|
| First player takes the only elytra | Every player gets their own |
| Chests stay empty forever | Every player gets their own loot |
| Griefers strip the towers and ship | Protected |
| Cities never come back | Put them back whenever you like |
| Set up each city by hand | Found automatically |
Setup
- Drop the jar into
plugins/ - Restart
- There is no step 3
Everything is switched on by default.
Cities add themselves as players travel near them.
Want to change something? /betterend opens a menu,
or /betterend setup asks you one question at a time.
You never have to open a settings (.yml) file.
What it does
Elytras
- Punch the ship's item frame and you get your own elytra. The frame, and its elytra, stay there for the next player
- Nobody can break the frame or knock the elytra out of it
- Choose: once per ship, once per player, or claimable again after every loot refresh
- Free, or charge any item (picked from your own inventory in game), XP levels, or both
- Optionally, each elytra a player buys costs double the one before
Loot
- Every player gets their own copy of what's in a city's chests
- Refreshes on a timer you set, and each city runs its own timer
- Chests players placed themselves are left alone
Protection
- Towers, bridges and the ship survive creepers, TNT, pistons and griefers
- Or protect only the ship, and let the towers be rebuilt on each refresh
- The empty space between towers is still free to build in
Putting cities back
- A copy of every city is saved the moment it's found
/betterend resetputs the blocks back and gives everyone fresh loot- Or let that happen by itself on every loot refresh
Your own words
- Reword or recolour any message, menu page or hint in
messages.yml - Updates add new messages to your file and keep the text you changed
Will it work on my server?
| Server software | Paper, Folia, or Purpur |
| Minecraft | 26.1 and up |
| Java | 25+ |
| Anything else | Nothing. No datapack, no resource pack, no dependencies |
Minecraft 26 only. There is no 1.21 version.
Optional: with Better Anti-Dupe installed, claimed elytras are marked as the claimer's own, so they never look like copies.
Reference
Commands
| Command | What it does |
|---|---|
/betterend | The settings menu |
/betterend setup | Walks you through the settings |
/betterend list | Every city found so far |
/betterend info <id> | Details about one city |
/betterend tp <id> | Teleport there |
/betterend snapshot <id> | Save a copy of the city so it can be put back |
/betterend reset <id> | Put the blocks back, fresh loot for everyone |
/betterend resetloot <id> <player> | Let one player loot it again |
/betterend clearclaims <id> | Let everyone claim the elytra again |
/betterend delete <id> | Stop managing this city |
/betterend reload | Re-read the settings and messages files |
Permissions
| Permission | What it does | Default |
|---|---|---|
betterend.admin | Everything | OP |
betterend.bypass.protection | Build inside cities | OP |
betterend.discovery.notify | Get told when a city is found | OP |
Settings people change
elytra:
claim-mode: per-ship # per-ship, per-refresh, or global
cost:
amount: 0 # how many of the cost item, 0 = none
levels: 0 # XP levels, 0 = none
loot:
refresh-hours: 12 # 0 = never refresh
protection:
scope: whole-city # or ship-only
snapshot:
auto-reset-on-refresh: false # also put the blocks back every refresh
discovery:
excluded-worlds: [] # leave a second End world completely vanilla
Help
- Discord - ask me directly. Tell me "if it did X, I'd use it" and there's a good chance it ships
- Bug reports | Source
Automatic bug reports and anonymous statistics
Both are on by default, and either can be switched off.
Bug reports. Only this plugin's own errors are sent, with IP addresses, file paths, passwords and player ids removed first. Each report says the plugin and Minecraft version, whether you run Folia, roughly how many cities you have, and what the plugin was doing. Nothing about your players or your world.
Statistics. Your storage type, claim setting, whether per-player loot is on, and a rough city count. No coordinates.
Set metrics.enabled: false to send nothing at all, or metrics.error-reporting: false for bug reports only.
Paper | Folia | Purpur
Minecraft 26.x | Java 25+
No dependencies
Free and actively maintained.
Please consider donating: Ko-Fi or Patreon
Сервер для плагина Better End Cities - как у профи
Плагин Better End Cities создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Better End Cities для друзей можно за пару минут - BungeeHost всё уже подготовил.
