Quality Armory 1.1.157

A quality gun plugin similar to CrackShot.

  1. zombie_striker
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    Source Code:

    QualityArmory is meant to be a replacement for Crackshot, as it's last released update was for 1.8. What this plugin aims to do is add guns into minecraft without affecting the base game. All 3D gun models are loaded onto select items and data values in such a way as to make sure you should never see those textures unless you are given a gun.

    [!] I will not respond to bug fixes in the review section.[!]
    If you are experiencing a problem with QA, please report this issue in the Discussions tab or the Github page, including any errors you recieve and whether you tried it on a clean server (with no other plugins installed). I will not respond to issues in the review section, so don't use it as a way to try to get faster responses.

    The resourcepack is included in the core plugin, and can be configured in the config if needed:
    By default, the resourcepack is sent when the player uses a /qa command, or when they interact with a custom item. These values are configurable in the config; The resourcepack can be disabled (useDefaultResourcepack), can be set to be sent when the player joins (sendOnJoin), or can even be overriden with a custom resourcepack (setting DefaultResourcepackOverride to true(so that QA knows its a custom url), and DefaultResourcepack to the URL of the resourcepack)

    Crackshot support/conversion:
    QualityArmory now supports crackshot weapons conversions. Drop the weapon configs for crackshot in the /newguns/ directory and reload to have QA convert the weapons. All crackshot weapons will now have a corresponding yml file for QA.

    ViaVersion/1.8 support:
    Since 1.8 does not allow multiple models per item, each gun needs to replace an item for this update. To get around this, if 1.8 is detected or if the server runs ViaVersion, a new system is implemented to work with 1.8. However, this limits the amount of weapons available.

    When it comes to viaversion, by default, the system is in place which allows 1.9+ users to see all of the guns, but will limit the guns used by 1.8 players. In certain cases, 1.8 players will only see a single model for all of the 1.9+ guns, or it may have the weapon converted into an item that 1.8 players can see/use. If you wish for 1.8 weapons to be consistent across all versions, set "ManuallyOverrideTo_1_8_systems" to true in the config and delete the /newguns/, /armor/, /ammo/, /misc/ and /attachments/ directories.

    1. Adds new guns, such as P30, M16, M40, MP5, AK-47, Remmington, HeneryRifle, an RPG, and many, many, many more.
    2. Does not replace existing items in the game.
    3. Built-in resoucepack distributor; players will see the guns without you needing to change your server resoucepack.
    4. Built-in auto-updater, allowing for improvements and new guns to be synched with the server on reloads.
    5. Includes an API to allow other plugins to add guns
    6. Supports 1.9 - 1.12
    7. 1.8 has some support-Due to the way this update handled textures, there are currently only 15 guns. More may be added if I can find a work around.
    8. If LightAPI is installed, guns will have muzzle flashes.
    • /QA give <Gun/Ammo>, gives the player the item if they have permission "qualityarmory.give"
    • /QA craft, allows players to be able to craft guns if they have permission "qualityarmory.craft"
    • /QA shop, allows players to open up the gun shops if they have permission "qualityarmory.shop"
    • /QA reload, reloads all of the values for the plugin.
    Creating/editing guns:
    Creating custom guns is as easy as Crackshot. To learn how to create new guns, visit the Wiki HERE.

    Also note that if you want to change any of the settings for any of the default guns, you will need to set "allowUserModifications" to true. This setting lets QA know that it should not try to update these files if there are any changes.

    Plugins that support QualityArmory:

    Plugins that QualityArmory soft-depends on:
    • LightAPI: Used for muzzle flashses when guns are used. [Not required]
    • Parties: Used to disable friendly fire. [Not required]
    • ProtocolLib: Used to smoothly change player's Yaw for recoil when guns are used [not required.]
    • Vault: Used for the weapon shop. [Not required]
    • ViaVersion: QuialityArmory has ViaVersion support that allows players from different minecraft updates to see the same models. [Not Required]

    • qualityarmory.*
      • Inherits qualityarmory.admin
    • qualityarmory.admin
      • qualityarmory.give
      • qualityarmory.create
      • qualityarmory.reload
      • qualityarmory.createnewitem
      • qualityarmory.getmaterialused
      • qualityarmory.debugmessages
      • qualityarmory.getopengunslot
      • Inherits quailityarmory.default
    • qualityarmory.default
      • qualityarmory.craft
      • qualityarmory.shop
      • qualityarmory.usegun
    You can view the API and how to use it here:


    I created this plugin as a simple alternative to Crackshot, and never intended on making money from it. However, if you want to support me, you can do so through Paypal (PM me for details)

    How to Install
    • Drop this plugin into you plugins folder
    • Find/Create a plugin that will allow you get to your world
    • Restart your server

Recent Reviews

  1. DeeDe
    Version: 1.1.157
    Can u help?

    [13:22:39] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to QualityArmory v1.1.155
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:437) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:404) ~[mc.jar:git-Spigot-56f8471-6567017]
    at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:400) ~[mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1679) ~[mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.PacketPlayInArmAnimation.a(SourceFile:32) ~[mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.PacketPlayInArmAnimation.a(SourceFile:9) ~[mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:909) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:902) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:886) [mc.jar:git-Spigot-56f8471-6567017]
    at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:819) [mc.jar:git-Spigot-56f8471-6567017]
    Caused by: java.lang.NoClassDefFoundError: me/zombie_striker/pluginconstructor/reflection/ReflectionUtil
    at me.zombie_striker.qg.handlers.ProtocolLibHandler.sendYawChange(ProtocolLibHandler.java:185) ~[?:?]
    at me.zombie_striker.qg.guns.utils.GunUtil.addRecoilWithProtocolLib(GunUtil.java:657) ~[?:?]
    at me.zombie_striker.qg.guns.utils.GunUtil.addRecoil(GunUtil.java:643) ~[?:?]
    at me.zombie_striker.qg.guns.utils.GunUtil.basicShoot(GunUtil.java:430) ~[?:?]
    at me.zombie_striker.qg.guns.utils.GunUtil.basicShoot(GunUtil.java:391) ~[?:?]
    at me.zombie_striker.qg.guns.Gun.USE_THIS_INSTEAD_OF_INDEVIDUAL_SHOOT_METHODS(Gun.java:360) ~[?:?]
    at me.zombie_striker.qg.guns.Gun.shoot(Gun.java:347) ~[?:?]
    at me.zombie_striker.qg.guns.Gun.onClick(Gun.java:653) ~[?:?]
    at me.zombie_striker.qg.guns.Gun.onLMB(Gun.java:540) ~[?:?]
    at me.zombie_striker.qg.listener.QAListener.onClick(QAListener.java:869) ~[?:?]
    at jdk.internal.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[mc.jar:git-Spigot-56f8471-6567017]
  2. xonfirex1
    Version: 1.1.155
    It would be good to put star wars ships like the green or purple lightsaber. this plugin is very cool
  3. Domini407
    Version: 1.1.1b4
    love this plugins so far working good on my test server, would be ool if you add global damage multiplier instead changing damage of each gun you have that option to do it globally :p
  4. EnyProfe10
    Version: 1.1.152
    Good plugin, but there's an option to able the resource pack only work in a specific world?
  5. Gynzel
    Version: 1.1.152
    This PlugIn is absolutely nice !

    Thanks for this work everytime.
    My friends are liking this, too.

  6. smokeymcjay
    Version: 1.1.152
    Love this plugin

    But im wondering how I could put in kits please help

    works great in 1.15.1 got me with the scopes sooo dope
  7. galacticwarrior
    Version: 1.1.152
    I reported a performance issue with the plugin on Discord and the author promptly released this update which fixed it. Thank you for the speedy support!
  8. Ryquin_
    Version: 1.1.148
    This plugin is absolutely an amazing plugin to have on your server! The guns are so much fun to use and not to mention it comes with LIGHTSABERS!!!!! That is right you too can be a Sith! Come to the darkside of minecraft and shoot someone in the face!
  9. Checco343535
    Version: 1.1.147
    Fantastic plugin! But I have got a problem... I've update this plugin in 1.1.147.... but my helmets are gone, they don't even appear in the files; write me to help me solve the problem
  10. aguadelamiseria
    Version: 1.1.147
    A solid plugin for fireguns. It has some bugs, but it is also the best I have found of its kind.