[CONCEPT] for an artillery plugin

 In this case, the plugin is for minecraft.

Hello everyone. I am an avid fan of artillery in games and have been looking to create my own set of artillery in any sort of game and i got an offer for a plugin to be made, provided the design is good enough (and it's feasible). These artillery pieces and the mechanics surrounding them will be based on two key points. One of them being vanilla compatibility, meaning that the pieces' design will orbit minecraft's design (and specifically the combat found in that design) and the other being the most amount of depth possible through the design limitations. With those two design goals out of the way, let us tackle the plugin.

Most values provided in this document are not exact, to make room for adjustments as are needed.

The lineup consists of three cannons. Every cannon has been designed with a siege in mind, both because that's where a cannon shines the most and also because that's the vast majority of engagements in a minecraft server. Before we tackle each cannon however, first we tackle the plugin's universal mechanics.

Cannons and their ammunition are meant to be expensive and difficult to haul around. Cannons are constucted by crafting their parts on a crafting table and then taking them to a workshop. The workshop consists of 31 blocks of iron arranged into a Π shape and an activator block. If the activator block is right clicked, it opens the cannon crafting menu. After inserting all the cannon parts, the activator block checks to see if the workshop structure is intact and if it is, it takes all the cannon parts and spawns a cannon in the middle of the workshop. The cannon cannot be moved unless it is drawn by a horse, llama or camel (or any other rideable mobs minecraft includes) but depending on the cannon can be rotated or the gun's elevation can change. 

All cannons slow down the mob carrying them, with the exact speed being dependant on the cannon. Cannons also have a durability value. Firing the cannon takes away from its durability, with different durability values presenting different issues for different cannons. All cannons however share this mechanic: while being drawn, the cannons check to see if the cannon's elevation changes. A cannon that climbs higher has no effect, but a cannon that drops to a lower high takes note of that and increases a "rough terrain" value. If the value surpasses a certain threshold after a short amount of time passes (like two seconds) then the cannon begins taking durability damage (the bumpy terrain damages the artillery piece), with the durability damage going up exponentially the more rough terrain the cannon crosses in a short amount of time. This mechanic is in place to make cannons even more cumbersome for players to travel around with. 

Another point of commonality between cannons is the effect their shells have. All explosive shells, once exploding, also effect players caught in a fairly large zone around the blast radius with slowness and blindness for a considerable amount of time, a split second of nausea and they also push them away from the point of impact. All fragmentation shells have a much smaller explosive radius that deals those debuffs to players, with any fragments that strike a player doing the same thing. Any player who was grazed by one of those projectiles, so anyone a fragment narrowly missed, will only get a split second of blindness. Incediary shells have none of these effects but deal nausea for a short while to anyone caught by the flames. All shots share a penetration value. Whenever they hit a block, they destroy it and keep going, with the block's hardness being subtracted from their penetration value (kind of like a healthbar). Once the shot reaches a block with a higher hardness value than its penetration value, the shot is destroyed. Players count as if having a hardness value of 0.3. Shots also share a drop value, with different shots with a larger drop value being affected by gravity more than shots with drop weight values. Should a server not want griefing enabled, the owner can select between penetration destroying a block or having the shot simply move through it. The config will also include an option to turn off shots that are designed to crack open bases, such as the armor-piercing and bunker buster shot.

Cannons have two different possible firing modes, those being direct fire and indirect fire. Direct fire mode draws a ray to the shell's destination and applies any effects the shell has to that area (either causing an explosion, a cascade of shrapnel or a cone of flame). Direct fire mode reaches at most ~200 blocks (12 chunks). Any distance beyond that is handled by indirect fire. Indirect fire mode renders the chunk where the shells strikes and applies its effects, un-rendering the chunk after (or whatever minecraft does to stop rendering a chunk), or simply applies its effects if the chunk is already rendered. Indirect fire also checks the first 30 or so blocks of the shot's path if it was an actual projectile, to prevent firing from within structures or under ceilings. If anything is blocking the shot's path, then the projectile strikes that block or entity and explodes, pierces, does whatever the shot is supposed to do once it reaches its destination.

Cannons all share a heat value. Firing the cannon makes the barrel heat up, needing to let it cool down for a little while. Each time the cannon is fired, the cannon's heat level goes up by two, with it going down over time or whenever a sponge on a stick is used on it (sponge on a stick can only be used once per shot). After three consecutive shots, the cannon enters high heat mode, with each heat level adding 10% to the cannon's chance to fire whatever is placed within it every three seconds without the players' input. If gunpowder is inserted into the gun at heat level 10 or above, the gun explodes instantly. Heat levels also add durability damage to the cannon every time it fires, scaling with the heat level as well. Firing a shot, cannons produce smoke. At high heat level however they continue to produce smoke from their barrel, showing the user that the gun needs to be left alone to cool down. The higher the heat level, the more time it takes to go down a heat level, making over-heating the gun costly, dangerous and time-consuming.

That does it with the universal mechanics. It's time to tackle the artillery pieces.

All damage is done to players with protection 4 netherite armor.

The first cannon is the cheapest one, called the Monarch. It is not meant to be a balanced piece or an all-rounder: it fires heavy, devastating roaring shells, while lacking in every other major sector. Its major drawbacks are its poor range, accuracy and durability . A player can sit at the back of the cannon to control its elevation and fire by right clicking the cannon with a linstock item (crafting recipe, two sticks on a diagonal and a torch on top). The cannon can be rotated by right clicking each side of its muzzle with an empty hand to tilt it left or right. Being a muzzle loader, the loading procedure is the same for every shot. First, a sponge on a stick (crafting recipe, two sticks in a diagonal and one sponge at the top) is used to clean the barrel for two seconds, after it is right-clicked on a water block or a filled cauldron, to make it wet. If not used, the cannon will have a chance to fire without any player input every three seconds and the next shot deals even more durability damage to the cannon. Next, gunpowder is put in the barrel. One piece of gunpowder isn't enough to launch the shell and will cause it to flop out the gun and explode in front of it, two pieces launch the shell a short distance away (15 blocks), three pieces launch the shell even further (40 blocks) with four gunpowder launching the shell the furthest (70 blocks). If solely gunpowder is put in the cannon and fired, the cannon will just produce a sound and smoke. The cannon operates solely on direct fire mode. The cannon can take up to five pieces of gunpowder, which will make it explode instantly, destroying the cannon and killing anyone nearby. After the gunpowder, a ramrod is used for five seconds (crafting recipe, two sticks in a diagonal and one cobblestone piece at the top) to compress the gunpowder and a paper, honecomb, slimeball or clay item is used to seal it. If not sealed, any amount of gunpowder will result in a shot that had only one piece (due to most of the pressurized air escaping the gun). After the powder charge is sealed, then a tnt block is added for an explosive shot, a gravel block is added for a grapeshot or a cobblestone block is used for a regular shot. After adding the block, the ramrod is used again. If the ramrod is not used, the shot will travel 15 blocks, as if the shot had two gunpowder charges, no matter the charge. The explosive shot travels and explodes with the power of one tnt, while applying its universal effects. It has a penetration value of 0 (it isn't destroyed, it just explodes at the first obstacle it finds). If a player is caught in the middle of the explosion they are instantly killed, with damage falling off the further away from the explosion a player is. Any amount of damage from the explosion will disable a player's shield if they are blocking and deal damage as if they weren't. The grapeshot scatters 30 fragments of shrapnel from the gun in a cone, hitting a wide area, with the shrapnel being able to bounce twice and then be destroyed. Each fragment has a penetration value of 1. Being hit with a fragment is barely enough damage to kill a player (9 hearts). If blocking, both the shield and fragment are destroyed and the player takes no damage from that singular fragment. The regular shot travels at an arc to the target, bursting through any block or player it hits. It also can bounce 3 times, but only parallel to the ground it's travelling over (kind of like how a cannonball bounces). It has a penetration value of 5. If it hits anything that isn't below it and its penetration value reaches zero, it stops (or if its speed drops to zero). Any player it hits is instantly killed, even if blocking. The regular shot has the smallest drop value, followed by the explosive shot and then the grapeshot, with the largest drop value. The cannon has the smallest durability, with enough durability for 300 shots. Every 4% of durability dropped, the cannon's chance to misfire is raised by 1%, with that misfire having a chance to make the shot fizzle out and simply consume the gunpowder at 75% or more durability, the same effect as a two gunpowder shot at 50% durability and the same effect as a one gunpowder shot at 25% and less durability. At 0% durability the cannon stops being functional and every shot will simply fizzle out, consuming the materials, unless it's an explosive shot, which will make the cannon explode. The cannon's parts are the cannon barrel which consists of iron ingots taking every place in the crafting grid except for the middle one and the bottom middle, with an iron block in the bottom middle slot and two wheels which are crafted by making a cross with sticks with an ingot in the middle.

The second "cannon" is actually a mortar piece, called the Sol. Ironically it is meant to be even more cumbersome and even harder to use than the Monarch, with a considerable boost to its power. The Sol is heavier than the Monarch, slowing the entity that carries it more and taking more durability damage from bumpy terrain. A player can sit at the back of the mortar piece to change the gun's elevation and fire by right clicking the cannon with a linstock. It is not possible to rotate the gun once placed, it will have to be limbered to its carriage again and be placed down again. It's a muzzle loader just like the Monarch, with the loading procedure being mostly the same as the Monarch. The difference is that the Sol takes exactly two pieces of gunpowder before it can fire (putting one piece of gunpowder will yield the same result as the Monarch), with its range being determined from the gun's elevation. Its maximum range is 600 blocks. It is an indirect fire artillery piece, being a mortar, with no direct-fire option. After the gunpowder is added and compressed, then the player can add a piece of cobblestone for a grapeshot, a tnt block for a high-explosive shot or a fire charge for an incediary shot (and then compress that as well, or else the same happens as putting a one gunpowder shot). The grapeshot bursts 30 blocks above where the shot should land, breaking into 40 fragments and showering a huge area, with each fragment dealing the same damage as the Monarch's grapeshot and having the same effects, but having no bounce and every fragment's penetration value being 1.4. High-explosive shot explodes at the first block it comes in contact with, with the power of one tnt, just like the Monarch's shot. Its damaging area and its effects of blindness and such cover a much wider area however. Incediary bursts 12 blocks above its target, creating a cone of fire, 20 blocks tall. Its effects can go through blocks, setting every surface, mob and player on fire, ontop of dealing enough damage to reduce a player to 3 hearts. Due to the gun being indirect fire, the drop value affects the distance the shot travels, with incendiary having the smallest drop value, followed by the high-explosive shot with the grapeshot being the shot with the highest drop value. The Sol has enough durability for 500 shots, with its durability effects being the same as the Monarch. The Sol's parts consist of the barrel, which has the same crafting recipe as a cauldron but with iron blocks, its wooden frame, which is made by putting three sticks at the top of the grid, one plank in the middle and three sticks at the bottom and two wheels which have the same crafting recipe as the Monarch's. 

The third and final cannon is called the Magician. It sacrifices power and in return, is the easiest to use, most accurate and all around most versatile cannon in the plugin. It's the lightest cannon of the bunch, with a minor penalty to speed for the entity carrying it and minor damage taken from bumpy terrain. It can fire both directly and indirectly depending on the shot and the shots it takes come pre-packaged, cutting down on a lot of steps to the firing process. A player can sit in the back of the cannon to control its elevation, rotate the cannon and fire it. They also receive a small HUD element that informs them of the gun's elevation and if in indirect fire mode the shot's projected range in blocks. The first step to fire the gun is always the sponge on a stick, with the same effects as the other two cannons being applied should a crew skip this step. Then, three types of shots can be placed into the barrel and fired immediately, with those being miniature shots, low-velocity shots and high-velocity shots. Miniature and low-velocity shots are direct fire shots and high-velocity shots are indirect fire. Miniature shots only raise the cannon's heat level by one when fired, with high-velocity shots raising it by four. All shots cannot be stacked as items, with only one shot fitting in every inventory slot.

Miniature shots can reach at a max range of 60 blocks and their effects such as blindess are greatly lessened. Miniature shots include:
  • Micro-ball, which is crafted by placing an iron ingot on top, paper in the middle and gunpowder at the bottom. It fires a miniature cannon ball with a penetration value of 0.5, with enough damage to barely kill a player. If the player is blocking with a shield, the shield is destroyed and they are killed.
  • Scatter-shot, which is crafted by placing a gravel block on top, paper in the middle and gunpowder at the bottom. It fires 10 fragments with a penetration value of 0, with each fragment dealing 7 hearts of damage to a player. If the player is blocking, their shield is disabled as if hit by an axe, they take 3 hearts of damage and they get slowness 2 for 3 seconds.
  • Dragonbreath-shot, which is crafted by placing blaze powder on top, paper in the middle and gunpowder at the bottom. A very tight cone of fire, 20 blocks tall and at its widest 5 blocks wide is created in front of the gun. All players caught in the cone are dealt 3 hearts of damage and nausea 1 is applied to them for 3 seconds. If a player is blocking their shield is destroyed and they take no damage. All blocks in the shot's path have fires lit on them. The shot can penetrate three blocks behind cover (but it can't destroy blocks).
  • Miniature Armour-piercing shot, which is crafted by placing a quartz item on top, paper in the middle and gunpowder at the bottom. It fires a single shot with a penetration value of 30. Any player hit with this shot is instantly killed even if they are blocking, in which case the shield is destroyed.
Low-velocity shots can reach at a max range of 192 blocks (12 chunks). Low-velocity shots include:
  • Ball shot, which is crafted by placing an iron block on top, one gunpowder at the middle, one gunpowder at the bottom and paper around the entire thing. It fires a single cannon ball which can bounce up to 3 times, with a penetration value of 1.5. It kills any player it hits and if a player is blocking, it destroys their shield and kills them, but the shot is destroyed as well.
  • B&S (Ball and Shrapnel) shot, which is crafted by placing an iron block on top, one gravel block in the middle, one gunpowder at the bottom and paper around the entire thing. It fires a special cannon ball which bursts once it hits a block or a player, exploding into 7 shrapnel pieces which all fly out at random directions. If a player is hit by the ball, they are killed, even if they are blocking, in which case the shield is destroyed. The shrapnel can bounce once time and deals 7 hearts of damage if it hits a player, with a penetration value of 0.5. If a player is blocking, their shield is disabled and they take 3 hearts of damage.
  • Hard Shrapnel shot, which is crafted by placing a gravel block on top, an iron ingot in the middle, one gunpowder at the bottom and paper around the entire thing. It fires 10 fragments in a cone, with the fragments being able to bounce three times with a penetration value of 0.5. If a player is hit, they deal 9 damage. If a player is blocking, their shield is destroyed and they take 6 hearts of damage.
  • Soft Shrapnel shot, which is crafted by placing a gravel block on top, a sand block in the middle, one gunpowder at the bottom and paper around the entire thing. It fires 30 fragments in a cone, with the fragments being destroyed at the first block or entity they hit. If a player is hit, they deal 9 damage. If a player is blocking, their shield is disabled and they take 3 hearts of damage.
  • Armour-piercing shot, which is crafted by placing an obsidian block on top, gunpowder in the bottom and middle and paper around the whole thing. It fires a single high-powered shot with a penetration value of 120. It instantly kills any player it passes through no matter if they are blocking or not and if they are blocking, their shield is destroyed. 
  • Explosive shot, which is crafted by placing an iron block on top, a tnt block in the middle, one gunpowder at the bottom and paper around the entire thing. It fires a shot which explodes at first contact with anything, with the power of a single tnt. Its area of effect, ie the area in which players are damaged and effects are applied, is smaller than the Monarch's. Blocking players close to its blast radius will have their shields destroyed and 9 damage dealt to them, with the shield being disabled if they are at a medium range and further (with the damage scaling down accordingly). 
  • Bunker-buster shot, which is crafted by placing an obsidian block on top, a tnt block in the middle, one gunpowder at the bottom and paper around the entire thing. It fires a shot with a penetration value of 20. When its penetration value reaches 0, it explodes with the force of one tnt. The damage it deals to players, its area of effect and the severity of its effects are greatly lessed when compared to other explosive shots. If a player is hit by the projectile before it explodes, they are instantly killed no matter if blocking, in which case their shield is destroyed as well.
  • Incediary Armored shot, which is crafted by placing an obsidian block on top, a fire charge in the middle, one gunpowder at the bottom and paper around the entire thing. It fires the same shot as the bunker-buster shot, but instead of exploding at the end, it bursts into flame and sets fire to a sphere of 10 blocks radius. The fire portion of the shot deals 5 hearts to any player caught in the blast, sets fire to every block in its radius, disables any shields of any players who are blocking and applies nausea 2 for 5 seconds to everyone. 
  • Star-shot, which is crafted by placing a fire charge on top, a tnt block in the middle, one gunpowder at the bottom and paper around the entire thing. It fires an explosive shot which bursts into a minor explosion on contact with anything, equivalent to half a tnt, with the same effects as the explosion of the bunker-buster or explosive shot, albeit lessened. The explosion however also spreads fire to a 20 block radius sphere, with the fire's effects being the same to the incediary armored shot. 
  • Hellfire shot, which is crafted by placing a fire charge on top, blaze powder in the middle, one gunpowder at the bottom and paper around the entire thing. It creates a cone of flame 60 blocks in length, with 3 blocks at its widest point. Any player caught in the blast is dealt 5 hearts of damage and nausea 2 for 5 seconds is applied to them, any blocks are set ablaze and anyone blocking will have their shields disabled and 2 hearts of damage dealt to them.
  • Flash-shot, which is crafted by placing bonemeal on top, bonemeal in the middle, gunpowder at the bottom and paper all around. It fires a blinding projectile which deals no damage. It bursts on the first block or entity hit, dealing blindness in a 20 block radius for 30 seconds. It has no penetration or damage values. 
High-velocity shots have a minimum range of 200 blocks and a maximum range of 400 blocks. High-velocity shots include:
  • Shrapnel shot, which is crafted by placing three gravel blocks on the top row, three gunpowder on the middle row and three paper on the bottom row. It bursts 20 blocks above target, splintering into 20 lethal fragments with penetration power of 1. Any player hit is killed. If blocking, their shield is disabled and they take 9 hearts of damage.
  • Explosive shot, which is crafted by placing three tnt blocks on the top row, three gunpowder on the middle row and three paper on the bottom row. It explodes in contact with any blocks with the power of one tnt and the area of effect and damage of a low-velocity explosive shot.
  • Incendiary, which is crafted by placing three fire charges on the top row, three gunpowder on the middle row and three paper on the bottom row. It bursts 20 blocks above target, showering an area equal to circle of 30 blocks radius with flame. It sets fire to every block affected but does minimal damage to players (only one heart), dealing no damage to blocking players and disabling their shield. 
  • Flash-shot, which is crafted by placing three bonemeal on top, three gunpowder in the middle and three paper at the bottom. It bursts on contact with the ground, blinding everyone in a 20 block radius for 30 seconds.
In order to craft the Magician, players need to craft the barrel which consists of three copper blocks on the left and right and one netherite block in the bottom middle, the same frame as the Sol and the same wheels as the other two cannons (two of them). The Magician has enough durability for 1000 shots, making it much more durable than the other two cannons.

And that does it for the cannons and the plugin.

Comments

Popular posts from this blog

Harmony and Game Design

Jin's High Roundhouse Kick

[Concept] Some changes for Patapon 3