-
Notifications
You must be signed in to change notification settings - Fork 0
Open Access
Open Access e' il plugin standalone per controllare accessi a regioni WorldGuard e blocchi sensibili.
Permettere a server roleplay di definire chi puo' usare, aprire o modificare oggetti dentro una regione:
- casse;
- barili;
- fornaci;
- hopper, dispenser e dropper;
- shulker box;
- porte, botole e cancelli;
- bottoni, leve e pressure plate;
- blocchi custom interattivi come macchine o arredi.
Open Access e' pensato come plugin Paper autonomo.
Caratteristiche gia' presenti:
- plugin
OpenAccess; - comando
/openaccess; - alias
/accesse/oa; - storage SQLite di default;
- supporto MySQL/MariaDB;
- cache in memoria;
- operazioni storage su executor dedicato;
- ritorno al main thread per messaggi e GUI;
- API pubblica via Bukkit Services;
- provider registry per futuri moduli proprieta', aziende e hotel.
Open Access richiede WorldGuard.
In plugin.yml:
depend:
- WorldGuardWorldEdit e WorldGuard sono dipendenze provided: installale nel server Paper.
/openaccess
/openaccess region link <PROPERTY|COMPANY|HOTEL_ROOM|REGION> <wgRegion> <owner> [world]
/openaccess region unlink <wgRegion> [world]
/openaccess region info [wgRegion] [world]
/openaccess trust <onlinePlayer|uuid> [manage]
/openaccess untrust <onlinePlayer|uuid>
/openaccess player add <onlinePlayer|uuid> [open|manage|all]
/openaccess player remove <onlinePlayer|uuid>
/openaccess preset <private|members|managers|public|custom> [region|block]
/openaccess reload
/openaccess debug
Alias:
/access
/oa
| Permesso | Descrizione | Default |
|---|---|---|
openrp.access.admin |
Amministrazione completa | op |
openrp.access.region.manage |
Link/unlink regioni WorldGuard | op |
openrp.access.reload |
Ricarica cache accessi | op |
openrp.access.debug |
Usa debug | op |
openrp.access.bypass |
Bypassa i controlli accesso | op |
Alias compatibili:
next.access.adminnext.access.region.managenext.access.reloadnext.access.debugnext.access.bypass
| Preset | Comportamento |
|---|---|
private |
Solo proprietari, manager e regole esplicite. |
members |
Membri e manager possono usare i blocchi sensibili. |
managers |
Solo manager/proprietari. |
public |
Tutti possono usare i blocchi sensibili. |
custom |
Solo regole esplicite e manager. |
Il preset di regione e' il default. Un preset di blocco crea un override per una posizione specifica.
Default:
storage:
type: sqlite
sqlite:
file: open_access.dbMySQL/MariaDB:
storage:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: open_access
username: open_access
password: ""
pool:
max-size: 10
minimum-idle: 1
connection-timeout-millis: 30000Tabelle:
access_profilesaccess_rulesaccess_audit_logs
access:
additional-interactive-materials:
- NOTE_BLOCK
- BARRIER
- LIGHT
- STRUCTURE_VOIDUsa questa lista per blocchi custom che non sono container, porte o segnali vanilla ma devono essere trattati come macchine/interattivi.
Shift-right-click su un blocco gestibile apre l'editor se il player puo' gestire il profilo accesso.
La GUI consente di:
- vedere il profilo collegato;
- cambiare preset regione;
- cambiare preset blocco;
- vedere quante regole player sono attive;
- chiudere il menu.
Servizio Bukkit:
OpenAccessApi api = Bukkit.getServicesManager()
.load(OpenAccessApi.class);Metodi principali:
-
resolve(player, location, action); -
canManage(player, profile); -
findProfileAt(location); -
findProfileByRegion(world, regionId); -
profiles(); -
refreshCache(); -
openEditor(player, profile, blockLocation); -
registerOwnerProvider(provider); -
unregisterOwnerProvider(namespace).
Provider futuri possono implementare OpenAccessOwnerProvider per aggiungere
principal roleplay come aziende, hotel, affitti o proprieta'.
- Crea una regione WorldGuard.
- Collega la regione:
/openaccess region link PROPERTY casa_1 <player>
- Piazza una cassa nella regione.
- Prova ad aprirla con un player non autorizzato.
- Autorizza:
/openaccess trust <player>
- Cambia preset del blocco:
/openaccess preset public block
- Verifica che
openrp.access.bypassignori il deny.
Open Roleplay - codice aperto, moduli adattabili, roleplay prima di tutto.