Tags
Creators
Details
Licensed ARR
Published last year
Updated 7 months ago
All versions
1.0.0
Release
KnightTowns 1.0.0 - First Releaselast year 35
Compatibility
Minecraft: Java Edition
1.21–1.21.10
1.20.1–1.20.6
Platforms
Bukkit
Paper
Spigot
Changes
KnightTowns v1.0.0 – First Release
🏙 Town System
- Players can create and delete towns (/town create <name> / /town delete <name>).
- Towns can claim chunks (/town claim) and display borders for 30 seconds.
- Town members have ranks: TownMaster, Mayor, Member, and Visitor.
- Only TownMaster or Mayor can manage members depending on rank.
- Players cannot break, place, or interact with blocks/items in towns they don’t belong to.
- Optional bypass permission knighttowns.bypass for OPs or admins.
⚡ XP & Level System
- Players gain XP from blocks and kills.
- Level-up detection triggers correctly and only for the leveling player.
- Multiple level-ups handled correctly.
- XP and level persist across joins and server restarts.
💬 Commands
- /town create <name> – Create a new town (TownMaster only)
- /town list – List all towns with Mayor info
- /town delete <name> – Delete a town (TownMaster only)
- /town showborder – Show the border of your town for a few seconds
- /town claim – Claim the chunk you are standing on for your town
- /town addmember <player> <rank> – Add a player to your town (Mayor/TownMaster only)
- /town removemember <player> – Remove a player from your town (Mayor/TownMaster only)
🛡 Grief Protection
- Players cannot build, break, or interact in other towns unless allowed.
- Visitors (no rank) cannot modify blocks in any town.
- Town borders prevent accidental griefing.
📝 Persistence & Safety
- Town data saved in towns.yml.
- Player data and XP saved reliably on quit.
- All operations synced between memory and file.
🎨 UX & Feedback
- XP gain messages appear on the action bar.
- Level-up messages are shown only to the leveling player.
- Town commands provide clear success/failure feedback.
- Borders use Glowstone (corner) and Gold Blocks (marking between corners) for visual feedback.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:3r6JbM9z:TXN4RAW7"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:3r6JbM9z:TXN4RAW7"
}

