
Darktale's Territory Warfare ⚔️
Overview
This plugin provides a unique gameplay addition to the Vanilla experince of Hytale that provides ongoing experiences. The plugin contains 3 systems: Faction Management, City Building, and Territorial Warfare (Sieges).
Core Systems
Faction Management
Factions are the core in all the other systems, so in order for us to give the player the maximum freedom of making their factions the way the like it, we have dedicated the implementation to revolve around customization
What we offer
The Custom Factions UI gives you access to multiple different management tabs:
Faction Finder, where you see all the factions and settle diplomacy
My Faction, where you manage your faction details 
Rank Customizations
and many more management tabs…
City Building
City creation is possible once you create or join a faction. In cities you can set various permissions for your members. Allies are able to interact with doors and beds (no benches or chests), and PvP is enabled
That's not all! Inside cities you are able to create Structures, which are unique prefab buildings that give various buffs to your city and members
Creating a City
To create a city you need to craft a Bindstone with 10 Building Modules, which can be crafted from the Structure's Workbench, a pocket craftable bench

The Bindstone then needs to be placed in unclaimed territory
Map Preview when bindstone is placed
BindstoneClaim UI
Claimed City in Map 
Creating Structures in Cities
Once you have your first city built, you are able to place structures inside them using the Structure Builder Tool
Builder Tool with it's Legend
Structure List UI
Once you select a structure, you are in build mode (Fake Creative), where you can preview the prefab, similar to Builder Tool's Paste Prefab Feature.
Once Placed, you can right click on the structure to view it's information
Note: some structures give you access to bonus chunks that you can use to expand your territory in the bindstone page 
Territory Warfare (Sieges)
Sieges act as the closing loop of this plugin, where it gives the players the possibility to claim other faction's cities. The reasons for this can be: valuable structures, important POIs nearby, as well as for the fun of it!
Unlocking Sieges
To begin your area of conquering, you first need to construct a siege workshop, which gives you access to a custom siege workbench
Siege Workbench inside the Siege Workshop Structure 
Inside the workbench, you have access to Siege Weapons, Ammo, Blocks and Siege Modules
Bomb Ammo, The basic version that can be used in cannons, or thrown. 
Facts: The Tracked Explosion
Since the whole point of territory warfare is to have as many attacker factions battling it out with one another to conquer the city, it was necessary to track the damages each do. However a challenge occured when we had to work with Explosion, since as of now explosions cant be tracked to the player, so we had to make these custom bomb explode interactions that would require us to calculate the radius of the explosion and see if structures got hit or not (explosion trigger global DamageBlockEvent so we didnt have data to manipulate on that phase).
Another problem we had was the various different paricipants that needed to do different damages based on who is shooting, what and where. The way we tacked it was by wrapping the projectileconfig so we could modify the block and entity damages. But since you can only change one damage modifier (EntityDamage), we had to come up with a sneaky solution of triggering explosion twice but with different values (one where entity damage is disabled, and the other block damage is disabled) whenever we had different damage values.
First of many upcoming siege weapons, The Cannon 
The Cannon
I wanted to put some time to show the how the Cannon has been created. It is an NPC which can be interacted and mounted on, and all interactions play around the NPC system (animations, attack, states). It was a fun twist I manage to do to utilize what Hytale has offered and test the limits of what we can do with it.
The counterpart of the Bindstone that can be used to initiate sieges on enemy factions, The Siegestone
The defensive block that is placeable only during sieges, that is tougher than normal blocks and dissapears after the siege ends, The Reinforced Wall
The core ingredient in Siege Weaponry, The Siege Module 
Initiating Sieges
To initiate siege on your opponents, you have to place a siegestone within 20 chunks of the city that you plan to attack. Once in place you are shown in the UI the list of nearby enemy cities, as well as their cost to siege (derived by the building cost of all their structures)
Initiate Siege UI
Once you initiate the Siege for your faction, you must join it to be considered an attacker
Once you join a siege the most recent participation out of all the active sieges you are participating in, will be shown in the HUD, as well as the HP of your Siegestone/Bindstone
Siege Phase: Preparing
This phase acts like the setting up before the big fight. During this phase you can toughen up your defenses with the Reinforced Walls, as well as setup siege weapons for attacking
Reinforced Walls are most effective when placed during preparing phase.
In addition to preparing your defensive, this phase should be used to also scout for the attacker siegestone's because during preparing phase, siegestone chunks are invisible to everyone beside the faction members
The marker is shown only to faction members
Structure and Block damage is reduced during this phase, however damage to players is not, so this is an ideal time to weaken attacker/defenders
Siege Phase: Active
This phase acts unlocks siegestone location's and enables objective damage (Siegestone/Bindstone)
Location of siegestone's is now highlighted
During this phase attackers/defenders do full damage to structures/players, while non-participants do reduced damage
When player's are within 5 chunk distance of the objective, the health of the objective will be visible in the HUD
If multiple objectives are in range, they all will be listed on the right side 
Whoever destroys their objective first, wins the siege. If none do by the time the siege ends, the defenders will be declared the winners.
However if attackers win, if the city is within claiming range, it will be auto-claimed and owned by them
Siege War tab during an active siege 
Siege Phase: End
This phase acts concludes the siege, and determines the winner. Once the winner is determined, the wager will be distributed to their war balance. If defenders win, they get all the wagers that the attacker placed for the siege, if the attackers win they earn 50% of their wager back
War Balance displayed (Currently it's Void Essence, but will be changed to gold) which can be retrieved with command /faction claim-wager 
In Conclusion
This is a project that I've been working for almost 3 months now, and it has been an incredible journey of learning Hytale as a product, as well as testing it's capabilities, This system is one of many integrated systems that I plan to implement in Darktale, which is a full-loot PvP server with lots of potential
Disclaimers
Because I have made the plugin to use a centralized database that is shared accross multiple regional servers for cross-server interactions, providing it as a standalone plugin is difficult. So during the time the Mod Contest is up, I plan to roll the feature out in a public test server (ip: eu.darktale.org:6520) so I can get your guys opinion. If this make's my plugin not proper for the mod contest it's understandable, I'm grateful for the oppertunities I got