Skip to content

1tzArad/BordersAndFrontlines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 21 Paper Version License

BorderAndFrontlines

A Minecraft server plugin that introduces a nation system with territory control, alliances, cities, and an economy layer built on top of Paper 1.21.

Releases · Setup Guide · Architecture · Contributing


Features

  • Nation Creation — Players can found nations by inviting nearby players in a creation session, choosing an ideology, and claiming their first chunk.
  • Territory Control — Claim and unclaim chunks on a chunk-based system. Neighboring chunks must be adjacent to existing claims.
  • City System — Create cities within claimed territory, each with a physical City Core block, a mayor, residents, and health/level mechanics.
  • Alliances — Form alliances between nations via invite-based requests.
  • Nation Chat — Toggle a dedicated nation chat channel with configurable format.
  • Rank & Permission System — Ideology-driven rank hierarchy with fine-grained permissions (claim, unclaim, vault operations, invitations, etc.).
  • Economy Integration — Nation vaults with deposit/withdraw, creation costs, claim costs, and configurable tax rates.
  • BlueMap Integration — Nation borders and city markers rendered on BlueMap web maps with per-nation colors.
  • PlaceholderAPI Support — Exposes nation name, color, balance, and rank placeholders for use in scoreboards, chat, etc.

Requirements

Dependency Required Version
Paper Yes 1.21+
FrontlineEconomy Yes 1.0
PlaceholderAPI Soft-depend 2.12+
BlueMap Soft-depend 2.7+
Java Yes 21+

Installation

  1. Download the latest .jar from Releases.
  2. Place the .jar into your server's plugins/ folder.
  3. Ensure FrontlineEconomy is installed and enabled.
  4. Restart the server. A config.yml will be generated on first startup.
  5. Edit plugins/BorderAndFrontlines/config.yml to your preferences and reload.

Configuration

The generated config.yml contains:

allow-war: true

worlds:
  - world

naming:
  min: 3
  max: 18

nation:
  creation-cost: 1000.0
  minPlayers: 3
  claim-cost: 50.0
  unclaim-refund: 40.0
  nation-chat-format: "&7[&8{rank}&7] &7{player}&8: &7{message}"

city:
  creation-cost: 300.0
  destruction-refund: 200.0

port:
  creation-cost: 500.0
  destruction-refund: 400.0

Commands

Command Description Permission
/nation Main command — lists all subcommands BAF.nation
/nation create Start a nation creation session BAF.nation.create
/nation confirm Confirm nation creation (session leader)
/nation cancel Cancel nation creation session
/nation info View nation information
/nation claim Claim the chunk you are standing in
/nation invite <player> Invite a player to your nation
/nation accept <code> Accept a nation or alliance invite
/nation reject <code> Reject an invite
/nation leave Leave your current nation
/nation disband Disband your nation (leader only)
/nation chat Toggle nation chat
/nation ally <nation> Send an alliance request
/nation break <nation> Break an alliance

Permissions

Permission Description Default
BAF.nation Access to all nation commands true
BAF.nation.create Access to create a nation
BAF.nation.settings Access to nation settings panel

PlaceholderAPI Placeholders

Placeholder Description
%baf_nation_name% Player's nation name
%baf_nation_color% Player's nation color
%baf_nation_balance% Player's nation vault balance
%baf_nation_rank% Player's rank within their nation

Building from Source

Prerequisites: Java 21+, Maven 3.9+

git clone https://github.com/1tzArad/BorderAndFrontlines.git
cd BorderAndFrontlines
mvn clean package

The compiled .jar will be in target/.

Note: FrontlineEconomy must be available in your local Maven repository or a configured remote repository for the build to succeed.

Project Structure

BorderAndFrontlines/
├── src/main/java/xyz/ItzArad/
│   ├── baf/                          # Plugin core
│   │   ├── BorderAndFrontlines.java  # Main plugin class
│   │   ├── commands/                 # Command handlers
│   │   ├── listeners/                # Event listeners
│   │   ├── managers/                 # Business logic managers
│   │   ├── models/                   # Data models (Nation, City, Ranks, etc.)
│   │   ├── dialogs/                  # GUI dialogs (Triumph GUI)
│   │   ├── Placeholders/             # PlaceholderAPI expansions
│   │   ├── context/                  # UI context objects
│   │   ├── abstracts/                # Abstract base classes
│   │   └── common/                   # Shared interfaces and utilities
│   └── bafLibs/                      # Internal library (chunk/player utils)
├── src/main/resources/
│   ├── plugin.yml                    # Plugin descriptor
│   └── config.yml                    # Default configuration
├── pom.xml                           # Maven build configuration
└── LICENSE                           # GPLv3

License

This project is licensed under the GNU General Public License v3.0.

Any redistributed modified version must also be open-source under GPLv3. Closed-source redistribution is not permitted.

Contributing

Contributions are welcome. See the Contributing Guide for details on setting up a development environment and submitting changes.

About

A Minecraft server plugin that introduces a nation system with territory control, alliances, cities, and an economy layer built on top of Paper 1.21.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages