All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
Determines whether a block is broken, cracked, or skip damage.
Holds data from config for a material.
Utility class that stores all block damage on the server.
The Chunk class does not provide a hashing method, so we are stuck wrapping the chunk in order to use a HashMap
 
This class outlines a sorter to define the order that blocks should regenerate from an explosion.
 
 
 
 
 
 
 
 
 
 
 
This explosion defines a rectangular prism shaped explosion, where a valid (non-negative) width and height are specified.
Handles breaking the weapon over a certain number of shots, so weapons do not last forever.
This enum is used to keep a list of all NBT tags used by WeaponMechanics.
 
 
 
This class highlights different points in a hit box.
 
This explosion uses the minecraft explosion system, instead of using a shape.
 
 
 
 
 
 
 
 
 
Wraps a LivingEntity object to simplify per-entity data/methods that are used by WeaponMechanics.
For equipping
 
 
Useful commands for testing different explosion sizes and shapes.
 
Listens and cancels events that could interfere with block regeneration, or cause damage because of the missing blocks It also regenerates blocks if chunks unload
This interface outlines the shape an explosion may take.
 
Factory class to provide explosion exposures to the Explosion's serializer.
 
 
For reload
 
 
This class highlights the different types a Firearm can have.
 
 
This task handles firing projectiles every N ticks.
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
Deprecated.
Deprecated.
Deprecated.
Deprecated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Simple class to help with handling spread and recoil change
 
 
 
 
 
 
 
 
 
Uses parabolas to calculate the area of explosions, where a parabola is defined as: y = m(x - xOffset)^2 + yOffset xOffset is ignored here yOffset is the depth.
 
 
 
 
 
Wraps a Player object to simplify per-player data/methods that are used by WeaponMechanics.
 
This class encapsulates an (x, y) point with a value.
 
This event is called after WeaponPreShootEvent but right before WeaponShootEvent.
 
Called whenever a WeaponProjectile ends.
This class outlines convenient methods for any WeaponEvent that involves an WeaponProjectile.
Called whenever an explosion is spawned by a weapon (When a projectile explodes, usually).
Called whenever a WeaponProjectile hits a block.
Called whenever a projectile hits an entity.
Called right before calculations for an explosion occurs.
A projectile script is a class that can be attached to a projectile.
 
 
This class is run once for every Minecraft Server tick (ideally 20 ticks per second).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Really lightweight remove on block collision projectile.
 
Repair-Kits are items that can be used to repair multiple different weapons/armors, instead of redefining a repair-item for every weapon.
 
 
 
 
 
 
 
 
 
 
People can choose where the bullet is offset from depending on VR/Scope.
Keeps track of the left and right shoot locations, since the position should probably be different for each arm.
The Skin interface is to abstract out the Skin.apply(ItemStack) method, since there are 2 different skin systems that can work together.
 
 
Identifier for actions, like the default skin, scoping, sprinting, etc.
 
 
 
This class parses an image input (Usually a .png file) and saves each pixel in the image into a buffer.
 
For reload
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Called whenever an entity is damaged by a weapon.
This class outlines the event of a player holding a weapon.
 
When a weapon's FirearmState changes.
Called before an attempt to use Full Auto.
Called whenever a weapon is generated via command or API.
For equipping
Class to generally handle weapon functions
 
Simple class to handle weapon item serialization a bit differently.
Called when a victim is killed from a WeaponDamageEntityEvent.
 
 
This class outlines static utility methods to help developers find functions of WeaponMechanics wrapped in one place.
 
 
 
Called whenever a melee attack hits.
Called whenever a melee swing misses.
Called after all the WeaponShootEvents are called.
Called before a WeaponReloadEvent.
Called before a WeaponShootEvent.
 
Called if a reload was cancelled early (Usually because the player swapped hands).
Called when a reload is completed successfully.
Called when a weapon begins to reload.
Called when a weapon scopes in, if the weapon stacks scopes, or if the weapon scopes out.
 
Event that occurs when a Player switches between semi-automatic, burst, and automatic using WeaponMechanic's selective fire feature.
This class outlines the event of a weapon launching a projectile.
Called whenever a SkinHandler attempts to change the skin of a weapon.