MCPcopy Index your code
hub / github.com/TownyAdvanced/Towny

github.com/TownyAdvanced/Towny @0.103.0.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.103.0.6 ↗ · + Follow
6,763 symbols 28,651 edges 564 files 1,543 documented · 23%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Towny Advanced - Developed by LlmDl


A special message from LlmDl precedes the normal Readme :

Hello Towny community,

To the folks already sponsoring me: you are all awesome, the words below do not apply to you. I am grateful for the help you've provided me over the years (some of you, you know who you are,) and I am incredibly grateful for the support you've given.

I have been working with Towny since 2011. I have been in charge of the project since 2014. I have put in more than 13 years of service to an Open Source project that you use. I have not run a minecraft server, or played minecraft in over 7 years.

Some of you may know this, some may not: In 2021 my IRL work was up-ended, resulting in a major reset of my career. The result was that I have not been bringing in the same income as I was before, something I require to feed, cloth and house my wife and young children. Up until that point, my normal job fully-subsidized the time I put into coding Towny and its many add-on plugin. You all have enjoyed my works because I was able to feed and house my family via my regular work whilst paying myself to work on Towny.

I make myself available regularly on Discord answering mundane and complex questions alike. Bugs are usually fixed the same day they are reported. Other developers that contribute Pull Requests to Towny get reviews right away, and jr developers can usually expect me to help with commits so their work gets merged.

99% of Towny server admins are not sponsoring the work that I put into Towny. The truth about well-managed open source projects is that the developers of them need to be compensated for the time and energy they put into their software. Developers of large projects are unfortunately rarely compensated, and in fact receive a lot of push back from people who expect free software at no cost.

There are days that I enjoy every minute of what I do with Towny. Helping out the new server admins with their greenleaf in the Discord as they learn the ropes around Towny can be fun. Making a sponsor's feature request a reality. Creating a brand new add-on plugin from nothing but code and the TownyAPI that I have spent years fostering. As of this posting Towny has a 4.7/5 rating on Spigot, with 145 reviews. Nearly all of the reviews cite me and my efforts. I enjoy coding or I would not still be doing it.

And then there are days that I do not enjoy every minute of it, but you will not find any days that I have not answered every question asked on the Discord by new admins or sponsors.

I not only provide server owners with amazing support I also provide many plugins. It is not uncommon for servers to use Towny with side-plugins I am also in charge of: SiegeWar, Dynmap-Towny, iConomy5, TownyResources, TownyProvinces all playing very large roles on the server with other plugins like TownyChat, TownyFlight, TownyCultures, and others playing smaller roles. I read people's startup logs when they need my help and they tend to use a lot of my plugins if they use Towny.

I remember the time that Goosius decided to stop working on his fork of Towny that had SiegeWar built into it. He spent a little more than a year doing intense, active development, constantly getting feedback from server admins and players, constantly tweaking things. And then he vanished, burnt out from everything. He logged out of his SiegeWar discord and that was seemingly it. When I joined the SiegeWar discord in late 2020, I was surprised at how many people were clamouring for SiegeWar, willing to throw money at anyone that would continue coding SiegeWar. The developer left, and all of a sudden people were willing to pay. I have pulled SiegeWar from the ashes twice now, and yet the greater reward is not their.

As of the start of 2024 I have enacted a new policy: - If you're expecting support on the Discord: I expect you to sponsor. Companies that provide software do not provide support for free. I will probably still respond to you if you're brand new and need that extra bit of help. If you can find something that isn't already documented on the Wiki, let me know and I'll add it. - If you are not sponsoring, please do not make suggestions for new features, I don't need ideas right now.

This is due to underfunding, if sponsorships rise to a level at which I can sustain myself and my family the time I can devote to Towny will expand and the support floodgates will re-open. My time coding is being devoted to the people who are giving back by sponsoring me.

Thank you for reading,

  • LlmDl

The normal Readme

I'm LlmDl, the third lead developer of Towny. I have been managing the Towny project since 2014 and the release of Minecraft 1.8. Prior to me there was the original creator: Shadeness (active 2010-2011,) and the second developer: ElgarL (active 2011-2014.)

I am helped out by the TownyAdvanced team: Articdive, FlagCourier, Warrior and a few other private members. Being open-source Towny has a large list of Contributors who have helped improve the code base over the years as well.

Towny is one of the oldest still-in-development plugins for Minecraft. Shadeness created Towny for the now-defunct server platform called hMod. Shadeness ported Towny to Bukkit and left the project shortly afterwards, returning later to add EnemyWar or as it became known: FlagWar. Towny is now over 15 years old!

Go check out some of the features Towny has and see why it's still popular for yourself.

If you're interested in add-on plugins for Towny, check out the TownyAdvanced website/portal where you can view and download all of the plugins that the team maintains, or check out the SponsorPlugins you get access to when you give back!

CodeFactor


Current Recommended Versions

As of version 0.102.0.0 Towny requires the use of Paper, Folia or Purpur! Craftbukkit and Spigot are no longer supported!

Minecraft VersionTowny Version
MC 26.2.* Use the the Latest Pre-Release.
MC 26.1.* Use 0.103.0.0 or the the Latest Pre-Release.
MC 1.21.*
MC 1.20.*
MC 1.19.*
MC 1.18.* 0.100.3.0
MC 1.17.*
MC 1.16.*
MC 1.15.2 0.98.1.0
MC 1.14.4
MC 1.13.2 0.96.2.0 for 1.13.2
MC 1.12.2 0.97.0.0 for 1.12.2
MC 1.11.2 0.93.1.0 for 1.11.2
MC 1.10.2 0.93.1.0 for 1.10.2
MC 1.9.4 0.93.1.0 for 1.9.4
MC 1.8.9 0.93.1.0a for 1.8.9
MC 1.7.10 0.92.0.0 for 1.7.10
MC 1.6.4 0.88.0.0 for 1.6.4
MC 1.5.2 0.88.0.0 for 1.5.2
MC 1.2.5 0.82.0.0

Staying up to date

Now that all Release builds and Pre-release builds are being made available here on github's Releases tab I am recommending that server admins "watch" Towny on github. Just click the watch button in the upper right and select "Custom > Releases".

Alternatively, if you watch the resource on Spigot you will be notified on that website when a new Release version is out.


Connect/Support

The documentation found on the Towny Wiki is updated every time a Release version of Towny is put out. If you are using a pre-release version it is expected that you have read the changelog for any important changes since the previous Release build.

Some important pages to look over: - Installing Towny - Why make installation hard on yourself? - Frequently Asked Questions - Actually read this! - How Towny Works - The bulk of the Towny documentation, read it eventually.

Here on GitHub's Issue Tracker you can file bug reports, feature requests, or just ask general questions.

Average time to resolve an issue Percentage of issues still open

If you still need help, join us on the Discord server, where you'll find Channels for support, add-on plugins, SponsorPlugins, plugin-development and just regular old discussion of the plugin.

Note: that if you are not a new Towny admin, it is expected that you become a Sponsor if you want hands on support from LlmDl.


Video Tutorials

Courtesy of Major_Graft, we have a new series of Tutorial Videos available on the Towny website and YouTube.


Contributing

If you'd like to contribute to the Towny code, see the CONTRIBUTING.md.


Translations

If you'd like to help translating Towny into the available languages or add entirely new languages, we're on Crowdin!

Crowdin


Licensing

Towny is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) License

We don't object to you making your own forks and builds but we do object to people being selfish, which is why we specify No Derivative Works. If you want to modify the code to add some nice feature the least you can do is ask and submit a pull request to allow everyone to benefit from it.


Importing Towny for API use

Developers who wish to use the Towny API in their plugins may read [the following instructions on a

Extension points exported contracts — how you extend this code

TownBlockOwner (Interface)
Allows objects to contain townblocks to be accessed/manipulated. @author EdgarL @author Shade @author Suneet Tipirneni [8 …
Towny/src/main/java/com/palmergames/bukkit/towny/object/TownBlockOwner.java
TaskScheduler (Interface)
(no doc) [3 implementers]
providers/BaseProviders/src/main/java/com/palmergames/bukkit/towny/scheduling/TaskScheduler.java
EconomyHandler (Interface)
An interface used to show that an object is capable of participating in economy specific tasks. @author Suneet Tipirnen [7 …
Towny/src/main/java/com/palmergames/bukkit/towny/object/EconomyHandler.java
ScheduledTask (Interface)
(no doc) [3 implementers]
providers/BaseProviders/src/main/java/com/palmergames/bukkit/towny/scheduling/ScheduledTask.java
Savable (Interface)
Basic interface that depicts whether an object has a specified save method. Most, if not all, save methods will redirect [13 …
Towny/src/main/java/com/palmergames/bukkit/towny/object/Savable.java
Identifiable (Interface)
All classes that implement this interface are uniquely identifiable by a UUID. [10 implementers]
Towny/src/main/java/com/palmergames/bukkit/towny/object/Identifiable.java
EconomyAdapter (Interface)
An adapter that is used to adapt multiple economy implementations. [6 implementers]
Towny/src/main/java/com/palmergames/bukkit/towny/object/economy/adapter/EconomyAdapter.java

Core symbols most depended-on inside this repo

of
called by 2383
Towny/src/main/java/com/palmergames/bukkit/towny/object/Translatable.java
add
called by 1516
Towny/src/main/java/com/palmergames/bukkit/towny/object/economy/adapter/EconomyAdapter.java
getName
called by 1143
Towny/src/main/java/com/palmergames/bukkit/towny/object/Nameable.java
getNode
called by 407
Towny/src/main/java/com/palmergames/bukkit/towny/permissions/PermissionNodes.java
sendMsg
called by 405
Towny/src/main/java/com/palmergames/bukkit/towny/TownyMessaging.java
append
called by 388
Towny/src/main/java/com/palmergames/bukkit/towny/object/Translatable.java
of
called by 376
Towny/src/main/java/com/palmergames/bukkit/towny/object/Translator.java
getInstance
called by 357
Towny/src/main/java/com/palmergames/bukkit/towny/TownyAPI.java

Shape

Method 6,143
Class 555
Enum 42
Interface 23

Languages

Java100%

Modules by API surface

Towny/src/main/java/com/palmergames/bukkit/towny/TownySettings.java627 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/object/Town.java233 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/command/TownCommand.java152 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/object/Resident.java139 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/object/TownyWorld.java123 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/command/TownyAdminCommand.java112 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/db/TownyDataSource.java89 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/TownyUniverse.java86 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/object/Nation.java85 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/object/TownBlock.java77 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/command/NationCommand.java77 symbols
Towny/src/main/java/com/palmergames/bukkit/towny/db/TownySQLSource.java65 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add Towny \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact