# Chest Private (LWC)

**LWC** è uno dei plugin di protezione più longevi e affidabili di Minecraft, progettato per **proteggere i blocchi e il loro contenuto** da accessi non autorizzati.\
Grazie a LWC, ogni giocatore può bloccare casse, forzieri, porte, bottoni e altri oggetti interattivi, garantendo la **massima sicurezza dei propri beni** nel mondo di gioco.

Il sistema offre diverse modalità di protezione (pubbliche, private, a password, di donazione e di esposizione), insieme a una serie di **flag e comandi avanzati** per personalizzare il comportamento di ogni blocco protetto.

***

### 🧱 Creazione di Protezioni

#### `/cpublic`

Crea una **protezione pubblica**.\
Alias: `/lwc -create public`, `/lwc -c public`\
Chiunque può utilizzare un blocco pubblico, ma **solo il proprietario** può sbloccarlo o modificarlo.

***

#### `/cprivate`

Crea una **protezione privata**.\
Alias: `/lock`, `/lwc -create private`, `/lwc -c private`\
Una protezione privata è accessibile **solo dal proprietario**, a meno che non conceda accesso ad altri giocatori o gruppi.\
Puoi aggiungere più utenti o gruppi nello stesso comando.\
Anteponendo **@** al nome di un giocatore o gruppo, gli concederai i **permessi di modifica** (potrà aggiungere o rimuovere altri utenti, ma non rimuovere il proprietario).

**Esempi:**

* `/lock` → crea una protezione privata per te stesso.
* `/cprivate Hidendra g:moderator` → crea una protezione privata per te, per *Hidendra* e per il gruppo *moderator*.
* `/lwc -c private @pop4959` → crea una protezione per te e per *pop4959*, che può anche modificarla.

***

#### `/cpassword`

Crea una **protezione con password**.\
Alias: `/lwc -create password`, `/lwc -c password`\
Ogni volta che accedi, dovrai **inserire la password** per sbloccare il blocco. Chiunque conosca la password potrà accedervi.

***

#### `/cdonation`

Crea una **protezione di donazione**.\
Alias: `/lwc -create donation`, `/lwc -c donation`\
Chiunque può **inserire oggetti**, ma **nessuno può prelevarli**. Ideale per raccolte pubbliche o eventi.

***

#### `/cdisplay`

Crea una **protezione di esposizione**.\
Alias: `/lwc -create display`, `/lwc -c display`\
Chiunque può **vedere** il contenuto del blocco, ma **non può modificarlo**.

***

#### `/cdefault`

Imposta un **giocatore predefinito** che verrà automaticamente aggiunto a tutte le tue future protezioni.

***

### 🧰 Gestione delle Protezioni

#### `/cmodify`

Modifica una protezione esistente.\
Alias: `/lwc -modify`, `/lwc -m`\
Permette di **aggiungere**, **rimuovere** o **concedere accesso amministrativo** a utenti, gruppi o città.

* Aggiunta: nome semplice (es. `player`)
* Rimozione: prefisso `-` (es. `-player`)
* Admin: prefisso `@` (es. `@player`)

**Esempi:**

* `/lwc -m pop4959 @Hidendra` → aggiunge *pop4959* e imposta *Hidendra* come admin della protezione.
* `/cmodify -Hidendra -pop4959 -MeGoesRawr` → rimuove l’accesso a tutti e tre.
* `/cmodify -g:member` → rimuove l’accesso al gruppo *member*.
* `/cmodify t:berlin` → concede l’accesso a tutti i membri della città *berlin* (compatibile con Towny).

***

#### `/cremove`

Rimuove la protezione da un blocco.\
Alias: `/unlock`, `/lwc -remove`, `/lwc -r`

***

#### `/cunlock`

Sblocca un blocco **protetto da password**.\
Alias: `/lwc -unlock`, `/lwc -u`

***

#### `/cinfo`

Mostra le **informazioni** di una protezione colpendo il blocco.\
Alias: `/lwc -info`, `/lwc -i`

***

#### `/climits`

Mostra **quante protezioni possiedi** e **quante puoi ancora crearne**.\
Alias: `/lwc -info limits`, `/lwc -i limits`

***

### ⚙️ Flag di Protezione

#### `/credstone`

Attiva o disattiva l’interazione del blocco con la **redstone**.\
Alias: `/lwc flag redstone`

#### `/cmagnet`

Permette di **raccogliere automaticamente** gli oggetti caduti nei pressi del blocco.\
Alias: `/lwc flag magnet`

#### `/cautoclose`

Fa sì che una **porta protetta si richiuda automaticamente** dopo l’apertura.\
Alias: `/lwc flag autoclose`

#### `/callowexplosions`

Consente che il blocco protetto possa essere **distrutto da esplosioni**.\
Alias: `/lwc flag allowexplosions`

#### `/chopper`

Gestisce l’interazione dei **hopper** con il blocco protetto (sia in entrata che in uscita).\
Alias: `/lwc flag hopper`

#### `/lwc flag hopperin`

Controlla se i **hopper** possono **inserire oggetti** nel blocco protetto.

#### `/lwc flag hopperout`

Controlla se i **hopper** possono **prelevare oggetti** dal blocco protetto.

#### `/cexempt` *(solo admin)*

Rende la protezione **esente dalla rimozione automatica**.\
Alias: `/lwc flag exemption`

***

### 👤 Modalità Utente

#### `/cpersist`

Attiva o disattiva la **modalità persistente**, che consente di applicare lo stesso comando su più blocchi senza doverlo riscrivere ogni volta.\
Alias: `/lwc mode persist`

***

#### `/cdroptransfer`

Attiva la **modalità di trasferimento automatico degli oggetti**: gli oggetti raccolti vengono inviati direttamente a una cassa designata.\
Alias: `/lwc mode droptransfer`

**Sotto-comandi:**

* `/cdroptransfer select` → seleziona la cassa di destinazione;
* `/cdroptransfer <on/off>` → abilita o disabilita il trasferimento;
* `/cdroptransfer status` → mostra lo stato corrente della funzione.

***

#### `/cnolock`

Attiva o disattiva la **modalità senza blocco automatico**.\
Alias: `/lwc mode nolock`

***

#### `/cnospam`

Disattiva i **messaggi di notifica** relativi alla creazione delle protezioni.\
Alias: `/lwc mode nospam`
