Aller au contenu

Armes YAML

Chaque dossier dans plugins/GunCraft/guns-packs/ est un pack. Chaque fichier .yml est une arme.
Id runtime : pack:nom en minuscules (demo-pack:pistol).

/guns reload recharge tous les packs. Un YAML invalide skippe l’arme (ou l’action) et liste le warning dans le chat.

name: Pistol
rarity: COMMON # COMMON | UNCOMMON | RARE | EPIC | LEGENDARY
lore:
- "&7Standard sidearm"
ammo-type: light # ammo-types.yml (remplace ammo-item)
ads: false
magazine-size: 12
base-damage: 4.0
min-damage: 2.0
falloff-distance: 20
reload-time: 30 # ticks
shot-delay: 6 # ticks entre deux tirs / cadence auto
automatic: false
burst-size: 1
burst-delay: 1
pellets: 1 # >1 = shotgun (cône)
headshot-multiplier: 1.6
base-accuracy: 0.95
accuracy-loss-per-shot: 0.04
moving-penalty: 0.15
sneak-bonus: 0.1 # sneak et/ou ADS
recoil-strength: 0.05
camera-kick: 1.2 # si recoil-pattern vide
recoil-pattern:
- "1.2,-0.15" # pitch,yaw par coup, boucle
- "1.0,0.25"
shot-range: 40
spread: 0.015
shot-sound: ENTITY_FIREWORK_ROCKET_BLAST
reload-sound: ITEM_ARMOR_EQUIP_LEATHER
allow-offhand: true
crafting:
enabled: true
shape:
- " I "
- "ISI"
- " S "
ingredients:
I: IRON_INGOT
S: STICK
skins:
default:
normal:
item:
type: WOODEN_HOE
custom-model-data: 100
name: "&ePistol"
aiming:
item:
type: WOODEN_HOE
custom-model-data: 101
reloading:
item:
type: WOODEN_HOE
custom-model-data: 102

Plusieurs skins sous skins:. La première est le défaut in-game. SWAP_SKIN utilise l’id (gold, default, …).

20 ticks = 1 seconde.

Vanilla :

item:
type: WOODEN_HOE
custom-model-data: 100
name: "&ePistol"
amount: 1

ItemsAdder (prévois un fallback) :

item:
type: ia:my_pack:pistol
or-if-null:
type: WOODEN_HOE
custom-model-data: 100

Ancien champ racine custom-model-data : encore lu si le skin default n’a pas d’item.

plugins/GunCraft/ammo-types.yml :

types:
light:
item:
type: IRON_NUGGET
name: "&7Light Round"

Sur l’arme, ammo-type: light pose cet item comme munition. Sinon :

ammo-item:
item:
type: ARROW
remove-only-one: true

Pas d’item / type AIR = munitions infinies. En créatif, le chargeur ne se vide pas.

  • recoil-strength : pousse le joueur en arrière.
  • recoil-pattern : liste pitch,yaw. L’index avance à chaque coup et boucle.
  • Liste vide → camera-kick en pitch seulement.

Pas encore éditable dans le GUI.

Recette shapée 3×3. Chaque craft donne un UUID unique : pas de shift-clic.

Au /guns reload, les anciennes recettes GunCraft sont retirées puis réenregistrées. Pas encore éditable dans le GUI.

Hit au-dessus des yeux × headshot-multiplier.
Scripts : event HEADSHOT ou if: headshot, pas les deux sur le même effet.

trail:
max-particles: 16 # 0 = off
step: 2.5

Shotgun : trail uniquement sur le premier pellet.

Bloc actions: — voir Scripting.

RUN_COMMAND est off tant que allow-console-commands: false.