Guide for using Shoot features - DeeCaaD/CrackShotPlus_V2 GitHub Wiki

    Shoot:
        Invisible_Projectiles: <Boolean>
        Custom_Prepare_Shoot_Sound: <String>-<Double>-<Double>,<etc.>
        Custom_Pre_Shoot_Sound: <String>-<Double>-<Double>,<etc.>
        Custom_Shoot_Sound: <String>-<Double>-<Double>,<etc.>
        Require_Both_Hands: <Boolean>
        Require_Both_Hands_Message: <String>
        Shoot_Run_Command: <String>,<String>,<etc.>
        Potions_Affect_Spread: <String>-<Double>-<Integer>,<String>-<Double>-<Integer>,<etc.>
        Potions_Affect_Fire_Rate: <String>-<Integer>-<Integer>,<String>-<Integer>-<Integer>,<etc.>
        Trails:
            Default_Trail: <String>
            Trail: <String>,<etc.>
        Projectile_Control:
            Velocity_Update_Interval: <Integer>
            Control_Access_After: <Integer>
            Lose_Control_Distance: <Integer>
            Lose_Control_Time: <Integer>
            Lost_Control_Message: <String>
        Homing_Projectiles:
            Radius_To_Nearest_Entity: <Integer>
            Projectile_Turn_Ratio: <Double>
            Crosshair_To_Lock: <Boolean>
            Message_To_Shooter: <String>
            Message_To_Victim: <String>
            Sound_To_Shooter: <String>-<Double>-<Double>,<etc.>
            Sound_To_Victim: <String>-<Double>-<Double>,<etc.>
            Lose_Control_Time: <Integer>
            Lost_Control_Message: <String>
            Entity_Target_Blacklist: <Boolean>
            Entity_Target_List:
            - <String>
            - <etc.>
        Bouncing_Projectiles:
            Decrese_Velocity_Per_Bounce: <Double>
            Minium_Velocity: <Double>
            Bounce_Amount: <Integer>
        Increasing_Fire_Rate:
            Starting_Rate: <Integer>
            Add_Rate_Per_Shot: <Integer>
            Minium_Rate_For_Shot: <Integer>
            Maxium_Rate_For_Shot: <Integer>
            Decrease_Back_to_Starting_Rate:
                Minium_Milliseconds: <Integer>
                Maxium_Milliseconds: <Integer>
        Custom_Bullet_Spread:
            Remove_Bullet_Drop: <Boolean>
            Maxium_Y_Spread_Lower: <Double>
            Maxium_Y_Spread_Higher: <Double>
            Minium_Starting_Y_Spread: <Double>
            Maxium_Starting_Y_Spread: <Double>
            Decrease_Spread_Back_to_Normal:
                Minium_Milliseconds: <Integer>
                Maxium_Milliseconds: <Integer>
            While_Zooming:
                ZX_Spread: <Double>
                Increase_Y_Spread_Per_Shot: <Double>
            While_Sneaking:
                ZX_Spread: <Double>
                Increase_Y_Spread_Per_Shot: <Double>
            While_Standing_Or_Walking:
                ZX_Spread: <Double>
                Increase_Y_Spread_Per_Shot: <Double>
            While_Sprinting:
                ZX_Spread: <Double>
                Increase_Y_Spread_Per_Shot: <Double>
            While_Not_Touching_Ground:
                ZX_Spread: <Double>
                Increase_Y_Spread_Per_Shot: <Double>
        Bullet_Drop:
            Maxium_Distance_To_Targeted_Block: <Integer>
            Drop_Bullet_Above_Amount: <Integer>
        Delay_Bar:
            Left_Color: <String>
            Right_Color: <String>
            Symbol: <String>
            Symbol_Amount: <Integer>
            Action_Bar: <String>
            Title: <String>
            Subtitle: <String>
            End_Message: <String>
            End_Action_Bar: <String>
            End_Title: <String>
            End_Subtitle: <String>
        Camera_Recoil:
            Upwards:
                Minium: <Double>
                Maxium: <Double>
            Sideways:
                Minium: <Double>
                Maxium: <Double>
        Shoot_Delay:
            Time: <Integer>
            Blacklist: <Boolean>
            Weapons: <String>,<String>,<etc.>
        Weapon_Durability:
            Maxium_Durability: <Integer>
            Lose_Durability_Per_Shot: <Double>
            Weapon_Lose_Durability_Message: <String>~<String>
            Deny_Weapon_Usage_Instead_Of_Breaking: <Boolean>
            Weapon_Break_Message: <String>
            Weapon_Break_Sound: <String>-<Double>-<Double>,<etc.>

Invisible_Projectiles

If true shot projectiles will be hidden.
Note: Only works for projectiles such as arrow, snowball, egg.

Custom_Prepare_Shoot_Sound

Plays custom sound at player's location.
Note: <Sound>,<Volume>,<Pitch>

Custom_Pre_Shoot_Sound

Plays custom sound at player's location.
Note: <Sound>,<Volume>,<Pitch>

Custom_Shoot_Sound

Plays custom sound at player's location.
Note: <Sound>,<Volume>,<Pitch>

Require_Both_Hands

If true player can't shoot without having both hands free.
Note: If using Copy_Weapon_To_Off_Hand player can shoot when player has right item in offhand.

Require_Both_Hands_Message

Message player gets when trying to shoot while Require_Both_Hands is true and player has item in offhand.

Shoot_Run_Command

Make shooter or console run command when shooting
Note: Start command with #P# (shooter) or #C# (console) (#JSON# is before these if used!).
Note: If command starts with #JSON# then command can be used as JSON Note:

  • #PLAYER# is replaced to shooter's name.
  • #WEAPON# is replaced to weapon's name which shot.

Potions_Affect_Spread

Potion Effect Type list
Note: <Potion Effect Type>-<Change rate>-<Potion amplifier check>,<etc.>
Note: Spread is CURRENT SPREAD * CHANGE RATE. So if change rate is 0.6 then final spread is 60% from normal and if change rate is 1.4 then final spread is 140%.
Note: Potion amplifier check isn't much. This works like this also <Potion Effect Type>-<Change rate>,<etc.>
Note: Supports custom spread also

Potions_Affect_Fire_Rate

Potion Effect Type list
Note: <Potion Effect Type>-<Change rate>-<Potion amplifier check>,<etc.>
Note: Fire rate is CURRENT FIRE RATE + CHANGE RATE. So if value is + (positive) then fire rate is increased and if value is - (negative) then fire rate is decreased
Note: Potion amplifier check isn't much. This works like this also <Potion Effect Type>-<Change rate>,<etc.>

Trails

New GUI system requested and paid by ultrapunisher97. Server ip: mcaim.com

This video shows how skin, trail and visual reload changing works. It also shows how to attach and detach attachments. Also it shows how to remove ammo from weapon. https://youtu.be/guSflC7MX4w

  • Default_Trail

    • Determines weapon's default trail.
    • Note: Trail names are chosen inside trails folder.
  • Trail

    • Determines weapon's trail(s).
    • Note: If you want to use multiple trails put , between them. For example Trail: "Trail1,Trail2,Trail3"

Trails Folder

Projectile

ProjectileTrail:
    Trail: <String>
    Trail_Color: <Integer>-<Integer>-<Integer>
    Trail_Settings:
        Speed: <Double>
        Particle_Count: <Integer>
    Trail_Catch:
        Required_Distance_To_Catch: <Double>
        Space_Between_Trails: <Double>
    Item:
        Item_Type: <String>:<Byte>
        Item_Name: <String>
        Item_Lore:
        - <String>
        - <etc.>
        Item_Durability: <Integer>

This were an example of things which weapon which is using projectiles can have for trails.
Only Trail is necessary for projectile trail to work others are just extra.
Item is only used and necessary if you are using Trail GUI.
Note: Trail_Catch category for trails is used to not have that big space between trails with weapons using projectiles with high bullet speed. For example weapon's Projectile_Speed is 100 you would more likely use catch with these kind of values Required_Distance_To_Catch: 1.0 and Space_Between_Trails: 1.0.

Examples:

PiercedSmoke:
    Trail: "SMOKE_LARGE"
    Trail_Settings:
        Speed: 0.15
        Particle_Count: 3

Trail_Color uses RGB values. In this Rainbow example values are random because that random makes trail rainbow. For example Trail_Color: "0-0-0" would be black.

Blue:
    Trail: "REDSTONE"
    Trail_Color: "0-0-255"
Flame:
    Trail: "FLAME"

Energy

EnergyTrail:
    Trail: <String>
    Trail_Radius: <Integer>
    Trail_Go_Through: <String>
    Space_Between_Trails: <Double>
    Trail_Color: <Integer>-<Integer>-<Integer>
    Trail_Settings:
        Speed: <Double>
        Particle_Count: <Integer>
    Circle:
        Maxium_Circle_Size: <Double>
        Non_Increasing_Circle: <Boolean>
    Item:
        Item_Type: <String>:<Byte>
        Item_Name: <String>
        Item_Lore:
        - <String>
        - <etc.>
        Item_Durability: <Integer>

This were an example of things which weapon which is using energy can have for trails.
Only Trail and Trail_Radius is necessary for energy trail to work others are just extra.
Item is only used and necessary if you are using Trail GUI.
Note: Maxium_Circle_Size is used if instead of straight trail you want increasing circle trail. For example if your weapon's energy does damage in radius of 3.5 then you would more likely put this to 3.5.
Note: Non_Increasing_Circle value true means circle will be always Maxium_Circle_Size and value false means circle will slowly increase its size to Maxium_Circle_Size Trail_Go_Through can be all, none, entities or walls.

  • all means trails can go thru entities and walls
  • none means trails can't go thru entities or walls
  • entities means trails can go thru entities, but not walls
  • walls means trails can go thru walls, but not entities

Examples:

PiercedMagic:
    Trail: "SPELL_WITCH"
    Trail_Radius: 29
    Trail_Go_Through: "entities"
    Space_Between_Trails: 1.5
    Trail_Settings:
        Speed: 0.1
        Particle_Count: 3

Trail_Color uses RGB values. In this StraightRainbow example values are random because that random makes trail rainbow. For example Trail_Color: "0-0-0" would be black.

Blue:
    Trail: "REDSTONE"
    Trail_Radius: 30
    Trail_Go_Through: "entities"
    Space_Between_Trails: 0.5
    Trail_Color: "0-0-255"
Crit:
    Trail: "CRIT"
    Trail_Radius: 30

Projectile_Control

Example taken from Projectile_Control attachment.

Velocity_Update_Interval: 5
Control_Access_After: 30
Lose_Control_Distance: 100
Lose_Control_Time: 140
Lost_Control_Message: "&7You have lost control to projectile!"
  • Velocity_Update_Interval

    • Determines when projectile's velocity should be updated to right direction.
  • Control_Access_After

    • Determines the time after shot player gets control to projectile.
  • Lose_Control_Distance

    • Determines how far projectile can travel before player loses control projectile.
  • Lose_Control_Time

    • Determines time after players loses control to projectile.
  • Lost_Control_Message

    • Message player gets when he loses control to projectile.

Homing_Projectiles

Example taken from Homing_Projectiles attachment.

Homing_Projectiles:
    Radius_To_Nearest_Entity: 48
    Projectile_Turn_Ratio: 0.16
    Crosshair_To_Lock: false
    Message_To_Shooter: "&7You launched homing projectile to seek &c#VICTIM#&7!"
    Message_To_Victim: "&7You are being chased by &c#SHOOTER# &7homing projectile!"
    Lose_Control_Time: 100
    Lost_Control_Message: "&7Homing Projectile lost control to its target!"
  • Radius_To_Nearest_Entity
    • If victim is further than this radius player's homing projectiles can't try to target victim.
  • Projectile_Turn_Ratio:
    • Choose how fast projectile turns to target
  • Crosshair_To_Lock
    • If true then only victims in player's crosshair can get locked to homing projectile's target.
  • Message_To_Shooter
    • Determines the message sent for shooter when homing projectiles finds target.
    • Note:
      • #SHOOTER# is replaced to shooter's name.
      • #VICTIM# is replaced to victim's name.
  • Message_To_Victim
    • Determines the message sent for victim when homing projectiles lock to him.
    • Note:
      • #SHOOTER# is replaced to shooter's name.
      • #VICTIM# is replaced to victim's name.
  • Sound_To_Shooter
    • Plays custom sound at player's location.
    • Note: <Sound>,<Volume>,<Pitch>
  • Sound_To_Victim
    • Plays custom sound at victim's location.
    • Note: <Sound>,<Volume>,<Pitch>
  • Lose_Control_Time
    • Determines after how many ticks homing projectile will stop chasing victim.
  • Lost_Control_Message
    • Determines the message sent for player when homing projectile stops chasing its target.
    • Note:
      • #SHOOTER# is replaced to shooter's name.
      • #VICTIM# is replaced to victim's name.
  • Entity_Target_Blacklist
    • If true then entities listed in Entity_Target_List can only be targeted.
  • Entity_Target_List

Bouncing_Projectiles

Example taken from Bouncing_Projectiles attachment.

Decrese_Velocity_Per_Bounce: 0.6
Minium_Velocity: 0.6
Bounce_Amount: 3
  • Decrese_Velocity_Per_Bounce
    • Determines how much projectile's speed is decreased per bounce.
    • 0.6 is recommended. If this value is higher than 1.0 then projectile's speed will be increased.
  • Minium_Velocity
    • Determines minium speed for projectile on bounce to keep bouncing.
    • 0.6 is recommended for this also.
  • Bounce_Amount
    • Determines maxium amount of bounces for projectile.

Increasing_Fire_Rate

Example taken from Gauss weapon.

Starting_Rate: 1
Add_Rate_Per_Shot: 1
Minium_Rate_For_Shot: 1
Maxium_Rate_For_Shot: 3
Decrease_Back_to_Starting_Rate:
    Minium_Milliseconds: 700
    Maxium_Milliseconds: 1000
  • Starting_Rate
    • Determines starting fire rate
    • Note: Value needs to be between 1 and 16.
  • Add_Rate_Per_Shot
    • Determines how much fire rate is added per shot.
    • Note: Use negative values to decrease fire rate per shot.
  • Minium_Rate_For_Shot
    • Determines minium fire rate for weapon.
    • Note: Value needs to be between 1 and 16.
  • Maxium_Rate_For_Shot
    • Determines maxium fire rate for weapon.
    • Note: Value needs to be between 1 and 16.
  • Decrease_Back_to_Starting_Rate
    • Minium_Milliseconds
      • Determines minium time in milliseconds after weapon's fire rate is decreased back to Starting_Rate.
      • Note: 1000 = 1 second.
    • Maxium_Milliseconds
      • Determines maxium time in milliseconds after weapon's fire rate is decreased back to Starting_Rate.
      • Note: 1000 = 1 second.

Custom_Bullet_Spread

Example taken from AK-47 weapon.

Maxium_Y_Spread_Lower: 0.4
Maxium_Y_Spread_Higher: 0.5
Minium_Starting_Y_Spread: 0.001
Maxium_Starting_Y_Spread: 0.003
Decrease_Spread_Back_to_Normal:
    Minium_Milliseconds: 1200
    Maxium_Milliseconds: 1800
While_Zooming:
    ZX_Spread: 0.02
    Increase_Y_Spread_Per_Shot: 0.004
While_Sneaking:
    ZX_Spread: 0.04
    Increase_Y_Spread_Per_Shot: 0.006
While_Standing_Or_Walking:
    ZX_Spread: 0.06
    Increase_Y_Spread_Per_Shot: 0.008
While_Sprinting:
    ZX_Spread: 0.08
    Increase_Y_Spread_Per_Shot: 0.01
While_Not_Touching_Ground:
    ZX_Spread: 0.1
    Increase_Y_Spread_Per_Shot: 0.012
  • Remove_Bullet_Drop
    • Same as in CrackShot
  • Maxium_Y_Spread_Lower
    • Determines maxium amount of Y spread for lower value.
    • Note: This needs to be lower than Maxium_Y_Spread_Higher.
  • Maxium_Y_Spread_Higher
    • Determines maxium amount of Y spread for higher value.
    • Note: This needs to be higher than Maxium_Y_Spread_Lower.
  • Minium_Starting_Y_Spread
    • Determines minium amount for Y starting spread.
  • Maxium_Starting_Y_Spread
    • Determines maxium amount for Y starting spread.
  • Decrease_Spread_Back_to_Normal
    • Minium_Milliseconds
      • Determines minium time in milliseconds after weapon's spread is decreased back to Minium_Starting_Y_Spread and Maxium_Starting_Y_Spread.
      • Note: 1000 = 1 second.
    • Maxium_Milliseconds
      • Determines maxium time in milliseconds after weapon's spread is decreased back to Minium_Starting_Y_Spread and Maxium_Starting_Y_Spread.
      • Note: 1000 = 1 second.
  • ZX_Spread
    • Determines width spread per circumstance.
  • Increase_Y_Spread_Per_Shot
    • Determines height spread increase per circumstance.

Bullet_Drop

  • Maxium_Distance_To_Targeted_Block
    • Determines maxium distance from where block can be taken for bullet to drop.
  • Drop_Bullet_Above_Amount
    • Determines how many blocks above bullet is droppen from chosen block.

Delay_Bar

This works almost exactly like visual reload(take a look into it if you haven't yet), but time is taken from weapon's CrackShot node Delay_Between_Shots.
Note these in Action_Bar, Title and Subtitle:

  • These messages are sent during delay is active.
  • #WEAPON# is replaced to weapon's name.
  • #BAR# is replaced to your chosen Symbol, Symbol_Amount, etc.
  • #TIME# is replaced to time left in delay.

Note these in End_Message, End_Action_Bar, End_Title and End_Subtitle:

  • These messages are sent when delay has ended.
  • #WEAPON# is replaced to weapon's name.
  • #SLOT# is replaced to integer of slot where weapon's delay ended.

Camera_Recoil

Both upwards and sideways is required for this to work. If you don't want to use either one, then simply put value like 0.001 for it.

  • Upwards
    • Determines how much after shot player's view is moved up (minium & maxium)
    • Negative value = down & positive value = up
  • Sideways
    • Determines how much after shot player's view is moved sideways (minium & maxium)
    • Negative value = left & positive value = right

Shoot_Delay

This is same as Delay_Between_Shots, but for specific weapon types

  • Time
    • Time in ticks the delay is active
  • Blacklist
    • false means that weapons in list can't be used during delay
  • Weapons
    • Weapons which can't shoot during this time

Requested and paid by CJCrafter. Server ip: AtomicZombies.net

Weapon_Durability

This is custom durability using NBT tags. This doesn't modify Minecraft's actual durability levels.

To repair weapon you can either use weapon repair item or command. Find more about these inside /plugins/CrackShotPlus/guis/weapon_repair_gui.yml

  • Maxium_Durability
    • Maxium durability set for weapon
  • Lose_Durability_Per_Shot
    • Amount of durability weapon loses per shot
  • Weapon_Lose_Durability_Message
    • The message sent when weapon loses durability
    • First string means BAR, PERCENTAGE or NORMAL.
    • Second string means the actual message.
      • There is one variable #WEAPON_DURABILITY#
  • Deny_Weapon_Usage_Instead_Of_Breaking
    • If true then weapon can't be used to shoot when durability drops to 0
    • Weapon break message and break sound will be sent and played when player tries to shoot with weapon which has durability 0 and this node true
  • Weapon_Break_Message
    • Message sent when weapon breaks because it ran out of durability
  • Weapon_Break_Sound
    • The sound played when weapon breaks
    • This is only for custom sounds, but you can play Minecraft's own sounds also for ex. like this minecraft:entity.arrow.hit

Requested and paid by SpacePvP. Server ip: play.spacepvp.fr

⚠️ **GitHub.com Fallback** ⚠️