TownyAdvanced / Towny

Towny Advanced Minecraft plugin for Bukkit/Spigot.
https://townyadvanced.github.io
Other
527 stars 354 forks source link

Suggestion: Merge existing cities into one big City. Or Creating districts. #5797

Closed ErythroCraft closed 2 years ago

ErythroCraft commented 2 years ago

Please explain your feature request to the best of your abilities:

Hello

I got the idea to create districts and merging existing cittys into one big city. And an option to create districts in existing cities

  1. The player should be able to merge there city with other city ownwers.

  2. When the city merges, districts arise.

  3. After creating the districts, the old owners and mayors are the owners and mayors of the districts. 3.1. A new mayor must be elected.

  4. A new name for the city and districts (old cities) must be chosen.

More details if you are interested.

LlmDl commented 2 years ago

Sounds like a non-zero amount of work, but it's interesting.

Could Towns not roleplay as districts while being a member of the same nation?

ErythroCraft commented 2 years ago

🤔 I'll explain what I mean, but in a few days. Of course, I should do some elaboration on this, so that it doesn't make so much work for you.

Maybe

ErythroCraft commented 2 years ago

@LlmDl

Part I - Towns and Nations

Usually a city is created that an owner can manage. Residents of the town can then claim plots and build their house. There's a problem with that. Only entire blocks can be claimed. At this point there should be a setting where the blocks are split.

As an example:

There is the option [ town_block_size: '128' ]. On my server it are 128 blocks. Better is to set a different for [ plot_block_size: ' count ' ] or [town_plot_count].

[ town_block_size: '128' ] : [ plot_block_size: ' 64 ' ] = [ plot_block_count: ' count ' ] This makes it possible to claim smaller plots and divide the city blocks.

To do this, there must be a new option to ensure that multiple cities can ally. This would mean that, for example, two towns are eligible to create a nation. A president must be elected/appointed beforehand. Parts:

Next there should be an extra nation option, to give an count how many towns must have a nation to create.

nation:
# that means a limit of towns can create a town. Set to 1 means, one town can create a town and can expand the nation to town alliances
# This is important in order to close a nation alliance from several nations.
  town_limit: 'count'
# That means a minimum of residents a town must have.
 resident_town_limit: 'count'

1. town1 create ++ town2 create = Alliance of two towns (eligible for nation) and president and nations name is a requirement. Alliances of several cities result in something similar to how New York came into being.

settings -> town_min_distance: '' [min distance between town border blocks] settings -> town_max_distance: '' [max distance between town border blocks]

2.

- town1 create (minimum of residents + president1 is a requirement) = nation1 create
- town2 create (minimum of residents + president2 is a requirement) = nation2 create
- Alliances from two nations.

settings -> nation_min_distance: '' [min distance between nation border blocks] settings -> nation_max_distance: '' [max distance between nation border blocks]

(One president can be chosen. When the alliance is created, the presidents are also candidates. After that, anyone who has at least playing time can be nominated.)

player_played_Days: 'player_online_time'
town_aliance_color: 'color for town alliance name'
nation_aliance_color: 'color for nation alliance name'

Alliances of several nations result in something similar to how the USA or the European community came into being.

Can be calculated using [prime factors] and the [Eisenstein-Number] to enable mutiple numbers in towns.

example1 plot splitt:
town_block_size: '128'
plot_block_size: '64'
[ acceptable numbers are -> 1, 2, 4, 8, 16, 32, 64, 128] ==> 1*128=1 plot | 2*64=2 plots | 4*32=4 plots | 8*16=8 plots 
example2 plot splitt:
town_block_size: '128'
town_plot_count: '4'
[ acceptable numbers are -> 1, 2, 4, 8, 16, 32, 64, 128] ==> 1*128 blocks | 2*64 blocks | 4*32 blocks | 8*16 blocks

Online calculators can be found here.

The following images are intended to show graphically how plots are split, cities as an alliance create a nation, and nations ally themselves.

plot_block_count blue = old town block green = new town block with plots

natio_alliance_1 alliance_2 natio_alliance_3

**orange = wilderness 
blue = nations
green = towns
red = other town in wilderness**

**light-blue = acceptable nation alliance**
**yellow = acceptable town alliance**
LlmDl commented 2 years ago

You are describing a mountain of work, some of which is counter-intuitive to how Towny's core functions work.

Consider using a smaller plot size and then grouping them together with plot groups.

ErythroCraft commented 2 years ago

Sure. I create it by my self.

Thanks