-
Notifications
You must be signed in to change notification settings - Fork 0
Open Weapons
Open Weapons e' il modulo armi e combat roleplay di Open Roleplay.
Open Weapons e' attualmente uno snapshot pubblico in decoupling.
Il codice e' gia' nel namespace pubblico dev.openrp.weapons, ma alcune classi
dipendono ancora da API del vecchio core roleplay. Per questo il modulo va
considerato materiale tecnico aperto e riusabile, non ancora plugin standalone
pulito come Open Access o Open Cosmetics.
Obiettivo della prossima fase:
- rimuovere riferimenti al vecchio core;
- introdurre una API pubblica minima;
- trasformare
WeaponsModulein un plugin Paper standalone; - rendere opzionali integrazioni come aziende, polizia, log staff e identita'.
Open Weapons contiene:
- armi da fuoco;
- armi melee;
- munizioni;
- caricatori;
- accessori;
- banco armi;
- armature e caschi;
- granate;
- C4;
- taser;
- scudi;
- manette;
- arresti e cauzioni;
- perquisizioni;
- rapine;
- wanted;
- radio forze dell'ordine;
- SOS e telefono;
- utility item;
- bridge con Open Cosmetics;
- API per policy combat esterne.
open-weapons/src/main/resources/weapons.yml
open-weapons/src/main/resources/ammo.yml
open-weapons/src/main/resources/attachments.yml
open-weapons/src/main/resources/armor.yml
open-weapons/src/main/resources/messages_it.yml
ppkberetta_92fsar_15glock_19remington_870m4a1mp5mp7manganellotirapugniknifesig_mcx_semiautodesert_eaglehk416famassig_mcx_assaultfn_scar_hak_47barrett_mradawparietepiede_di_porcoghost_pistolghost_shotgunghost_smgghost_rifle
9mm46mm50ae556nato762nato12gaugemagazines
Ogni munizione puo' definire:
- nome display;
- materiale;
- custom model data;
- stack massimo;
- classe penetrazione;
- danno durabilita' armor;
- moltiplicatore danno flesh;
- danno durabilita' scudo.
holographic_sightscope_3xscope_10xvertical_gripextended_magazinesuppressorlight_triggerfull_auto_converter
Ogni accessorio puo' definire:
- slot (
optic,underbarrel,magazine,barrel,internal); - categorie compatibili;
- armi compatibili specifiche;
- moltiplicatori recoil, spread, ADS, hipfire, suono, distanza e mobilita';
- bonus zoom;
- tempo installazione;
- illegalita'.
Armature:
vest_lightvest_heavyvest_heavy_plated
Caschi:
ballistic_helmetriot_helmetsf_helmet
Le armature gestiscono riduzione danno, livello NIJ, durabilita', colore e penalita' movimento. I caschi possono ridurre danno, negare headshot o prevenire stun melee.
weapons.yml conserva i model data delle armi e delle varianti visuali:
- stato idle;
- aiming;
- reloading;
- caricatore presente/assente;
- grip;
- ottica;
- combinazioni ottica + grip + caricatore;
- varianti colore;
- varianti skin.
Le varianti cosmetiche non vengono duplicate in Open Cosmetics: Open Cosmetics seleziona LED/colore/skin e Open Weapons mantiene il mapping model-data finale.
La registrazione attuale passa ancora dal core storico. I comandi gestiti dal modulo includono:
/items-
/weaponscome alias di/items /weaponconfig/weaponbench/uncuff/rob/frisk/arrest/bail/arrests/wanted/sos/lawradio
Quando Open Weapons diventera' plugin standalone, questi comandi dovranno essere
dichiarati in un plugin.yml/paper-plugin.yml del modulo.
Open Weapons registra un OpenCosmeticsWeaponBridge via Bukkit Services.
Il bridge permette a Open Cosmetics di:
- verificare se un item e' un'arma;
- leggere l'id arma;
- chiedere il refresh visuale;
- sincronizzare model data dopo cambio skin, LED o colore.
Open Weapons interroga OpenCosmeticsApi per:
- decorare il nome dell'arma;
- ottenere suoni skin;
- ottenere candidati di variante visuale;
- applicare color data e custom model data.
Il modulo espone un modello di policy combat:
-
WeaponCombatPolicy; -
WeaponCombatDecision; -
WeaponUseContext; -
WeaponTargetContext; -
WeaponImpactContext.
Le policy possono:
- bloccare uso arma;
- bloccare target;
- bloccare impatto;
- ascoltare sparo;
- ascoltare hit.
Questa API e' utile per moduli futuri come zone protette, eventi, safezone, training o regole custom server-specific.
Gli asset armi sono in:
open-weapons/assets/resource-pack/
Lo zip viene generato in:
target/resource-packs/open-weapons-resource-pack.zip
- Creare
OpenWeaponsPlugin extends JavaPlugin. - Spostare la registrazione comandi in
plugin.ymlopaper-plugin.yml. - Sostituire il vecchio core con API pubbliche o adapter opzionali.
- Rendere opzionali aziende/polizia/staff log.
- Aggiungere test su registry, model data, caricamento YAML e combat policy.
- Documentare schema completo di
weapons.yml,ammo.yml,attachments.ymlearmor.yml.
Open Roleplay - codice aperto, moduli adattabili, roleplay prima di tutto.