-
Notifications
You must be signed in to change notification settings - Fork 0
API e integrazioni
Giovanni Albanese edited this page Jun 13, 2026
·
1 revision
I moduli usano Bukkit Services per restare collegabili senza accoppiarsi troppo.
Servizio:
OpenAccessApi api = Bukkit.getServicesManager().load(OpenAccessApi.class);Responsabilita':
- risolvere accesso player/posizione/azione;
- verificare gestione profilo;
- trovare profili da posizione o regione;
- aprire editor;
- registrare provider esterni.
Azioni:
OPENCONTAINERSIGNALMACHINEPLACEBREAKMANAGE
Provider:
OpenAccessOwnerProviderUn provider puo' aggiungere principal e permessi manager in base a sistemi esterni. Esempi futuri:
- proprieta';
- aziende;
- hotel;
- affitti;
- gruppi server-specific.
Servizio:
OpenCosmeticsApi api = Bukkit.getServicesManager().load(OpenCosmeticsApi.class);Responsabilita':
- leggere cosmetici disponibili;
- creare token;
- applicare selezione;
- aprire editor/workbench;
- leggere suoni skin;
- decorare nome item;
- generare candidati variante visuale;
- applicare custom model data e colore;
- gestire soppressione suoni skin automatici.
Open Cosmetics definisce:
OpenCosmeticsWeaponBridgeOpen Weapons lo implementa e registra.
Serve per:
-
getWeaponId(ItemStack); -
isWeapon(ItemStack); -
refreshWeaponVisual(ItemStack).
Questo evita che Open Cosmetics debba conoscere il registry interno di Open Weapons.
Open Weapons contiene una API di policy combat:
WeaponCombatPolicy
WeaponCombatDecision
WeaponUseContext
WeaponTargetContext
WeaponImpactContextUso previsto:
- safezone;
- eventi;
- training;
- regole per fazioni;
- protezioni temporanee;
- regole server-specific.
Una policy puo' negare uso, target o impatto e puo' ascoltare eventi di sparo o hit.
| Integrazione | Uso |
|---|---|
| Paper API | Base plugin e API server |
| WorldGuard | Regioni e profili Open Access |
| WorldEdit | Adapter WorldGuard |
| Nexo | Item/model/resource pack in Open Weapons |
| PacketEvents | Hook animazioni armi |
| AnvilGUI | Input GUI in Open Weapons |
| Bukkit Services | API tra moduli |
Un modulo pubblico dovrebbe degradare in modo chiaro quando una integrazione opzionale non e' presente.
Esempio gia' adottato:
- Open Cosmetics si abilita senza Open Weapons;
- segnala che manca il bridge;
- lascia disponibili GUI/config/token;
- impedisce solo le azioni che richiedono un item arma riconosciuto.
Open Roleplay - codice aperto, moduli adattabili, roleplay prima di tutto.