Skip to content

Guide To QualityArmory

Lorenzo edited this page Apr 20, 2025 · 6 revisions

The documentation has been moved! Check the new wiki here.

Overview:

-Guide To QualityArmory - Start Here

-The API

Getting Started

First of all, welcome to QualityArmory (QA). If you have had any experience with Crackshot, then you will know about their wiki and how they set up their configs. Unlike Crackshot, QA's config for guns is straight forward. Because of this, you should be able to jump into an existing gun file and change the values that you want. I highly recommend, if you are creating a new gun, that you first copy an existing gun, instead of creating a new one from scratch.

The following values will be found in every QA gun

-Name

This is the internal name for the weapon. This is what QA will use whenever you need to access this gun from a command. Its recommended that it remains all lower case without spaces, but you can add upper case letters if you wish.

-Displayname

This is what will be displayed on the item when you get it in-game. ChatColors are supported.

-Material

This is the material that will be used for the weapon.

-ID

Now this is where it get a bit complicated. If you're on 1.13 or lower, this represents the item durability that will be used for the item. For 1.14 and up, this will be the CustomModelData value that will be associated with the item. This is what will give the model the specific texture if you use a custom resourcepack.

-Variant

This is the variant tag. This is used if you want to create multiple items with the same item data, but give them different values.


For creating a new item, this is all you need to worry about. The rest are values should be self explanatory, but lets go over each of them just in case.

craftingRequirements

This tag is used for the QA-crafting system. The crafting system uses the following format to accept materials: [Material],[Durability],[Amount], so, for example, IRON_INGOT,0,15 tries to find 15 Iron ingots.

weapontype

WeaponType determines what class of weaponry you are creating. For guns, this is not important. This is used for misc items and armor mostly.

weaponsounds

WeaponSounds is the sound that will be played once a bullet has been shot.

weaponsounds_volume

WeaponSounds_Volume controls the volume of the sound being played.

enableIronSights

EnableIronSights controls whether to enter ironsights (i.e to swap the item to the off hand) for aiming. This is useful to get the ironsights visual in game.

ammotype

AmmoType determines what ammotype the gun requires. By default, there are the '9mm','40mm','50bmg','556','762','fusion_cell','mininuke','muscketball','rocket', and 'shell' ammotypes. If you add more ammo types, you will need to use the internal names for this field.

damage

Damage determines how much damage a bullet should do to an entity it hits.

maxbullets

MaxBullets determine how many bullets a gun can hold before needing to reload.

price

Price determines the price for the weapon in the QA shop.

sway

sneakModifier, moveModifier, and runModifier

These three booleans determine whether gun accuracy should be affected by sneaking, moving, or running

defaultValue

DefaultValue is the default sway for the weapon

defaultMultiplier

Determines how drastically the move and run modifiers affect gun accuracy. Increase to decrease accuracy in those states.

unscopedModifier

Determines the accuracy when a player shoots a weapon without using ironsights.

isAutomatic

Determines if the weapon should be automatic when a player holds down shift/ is sneaking.

firerate

Determines how fast the gun should fire if isAutomatic is set to true.

bullets-per-shot

Bullets Per Shot determines how many bullets are shot at a single time. For most weapons, this will be 1. For things like shotguns, this can be increased, though bullet damage does get applied for each round that hits an entity.

recoil

Determines how much recoil is applied to the player when the gun is shot if recoil is enabled in the config

setZoomLevel

setZoomLevel increases the player's FOV when aiming using slowness effects. By default, this is set to 0. Setting it to 1 or above will apply the potion effect to the player.

delayForReload

DelayForReload determines the amount of time (in seconds) that it takes to reload a weapon.

delayForShoot

DelayForShoot determines the amount of time (in seconds) that it takes to before a player can shoot the gun again.

maxBulletDistance

MaxBulletDistance determines how far QA should calculate the bullet before stopping calculations.

unlimitedAmmo

UnlimitedAmmo controls whether the gun has unlimited ammo.

LightLeveOnShoot

If LightAPI is installed on the server, this controls what light level will be applied to the player when a bullet is fired.

bullet_particle

BulletParticles, and BulletParticles R,G,and B determine what particles should be used as bullet trails. If REDSTONE is chosen, RGB is used to determine what color should be used. The values range from 0 to 1, with the default being white (RGB= 1,1,1)

headshotMultiplier

HeadShotMultiplier controls how much extra damage is applied to the player when a headshot occurs. By default, it is set to 3.5 times the original damage.