Vai al contenuto
ShadowMC

Configurazione

ShadowCustomizer Models

L'estensione per i modelli 3D di ShadowCustomizer.

Estensione v1.0.4

Dove sono i file

plugins/ShadowCustomizerModels/

Il plugin li crea al primo avvio e li aggiorna da solo alle nuove versioni, senza toccare le tue modifiche.

Applicare le modifiche

/scmodels reload

Rilegge i file senza riavviare il server.

Cosa c’è dentro

5 file · 136 impostazioni

Da dove partire: config.yml

Impostazioni

I file che decidono come si comporta il plugin. Si parte da qui.

config.yml

Impostazioni generali
25 impostazioni
plugins/ShadowCustomizerModels/config.yml
Note del file

Questa è l'estensione dei modelli 3D per ShadowCustomizer: costruisce il resource pack, lo unisce a quello che hai già, e lo serve ai tuoi giocatori.

Le cartelle che contano, qui dentro:

models/        che aspetto ha ogni item e blocco (i file .yml)
textures/      le immagini .png, disposte come nel pack stesso
model-files/   modelli già fatti in Blockbench, se ne hai
pack-extra/    I TUOI FILE: un .zip di resource pack, un pack
               decompresso, o file assets/... sciolti. Qualsiasi cosa
               ci sia qui dentro viene aggiunta al pack a ogni build.
               Vedi il README.txt all'interno.
pack/          GENERATA QUI. Non metterci niente a mano:
               questa cartella viene svuotata a ogni build.
pack.zip       il pack compresso, pronto per essere servito

core

core1 chiave
server-ip''

L'indirizzo con cui questo server è conosciuto dall'esterno. Serve solo alla licenza. Vuoto va bene per quasi tutti.

messages

messages2 chiavi
default-localeen_US

La lingua usata quando quella del giocatore non è disponibile. Il plugin include en_US e it_IT; viene caricato anche un file che aggiungi in lang/.

follow-client-localetrue

Ogni giocatore legge i messaggi nella lingua del proprio client, quando quel file esiste.

pack - il pack che viene costruito

pack9 chiavi
namespaceshadow

Il namespace dei modelli. DEVE corrispondere a models.namespace nella config di ShadowCustomizer: è ciò che lega "shadow:sword" scritto nella definizione di un item al file dentro il pack. Se i due non corrispondono, il client non trova il modello e disegna il cubo viola e nero del modello mancante.

format88

Il pack_format, cioè per quale versione di Minecraft è questo pack.

Sbagliarlo fa rifiutare al client l'INTERO pack, in silenzio: è il primo posto dove guardare quando "il pack non si carica".

88 è il valore per la 1.26.2. Cambia a ogni versione di Minecraft, e il modo per saperlo con certezza è leggerlo dal server stesso: dentro il jar della versione c'è un version.json con un "pack_version", e il numero che ti serve è "resource_major".

description'ShadowCustomizer content'

Quello che leggi nella lista dei resource pack del client.

L'unione - il motivo per cui esiste questa estensione

pack
base''

Se hai già un resource pack tuo, metti qui il percorso della sua cartella DECOMPRESSA - quella che contiene pack.mcmeta. Il builder copierà prima il tuo e ci scriverà sopra solo ciò che aggiunge.

Continua a leggere

L'unione ha una sola regola: VINCE CHI C'ERA PRIMA. Il tuo pack è il tuo lavoro; il nostro è ciò che viene aggiunto. Dove i due dicono cose diverse sullo stesso campo, resta il tuo e il conflitto viene segnalato - con il file e il campo, così puoi andare a controllare.

Il tuo pack non viene MAI modificato: viene letto e copiato.

Il percorso può essere assoluto o relativo a questa cartella. Vuoto significa nessuna unione.

È una funzione Premium. Senza, il pack viene comunque costruito, solo separato dal tuo.

Non è la stessa cosa della cartella pack-extra/: pack.base è un pack che tieni altrove e i cui file VINCONO, uniti campo per campo; pack-extra/ è la cartella in cui mettere i file così come sono, dove vincono i file generati (vedi extra-overrides qui sotto). Alla maggior parte delle persone serve solo pack-extra/.

extra-overridesfalse

Chi vince quando un file in pack-extra/ ha lo stesso percorso di un file che il plugin genera (un modello, il blockstate del note_block, una definizione di item).

Continua a leggere
false: viene tenuto quello generato, e la console ti dice quale
       file era. Giusto per quasi tutti.
true:  il tuo lo sostituisce, e la console dice anche questo. Attenzione:
       sostituire un modello generato rompe gli item che lo usano.

Aggiungere i file di pack-extra/ fa parte dell'unione, una funzione Premium.

url''

Il link completo da cui i client scaricano il pack.

LASCIALO VUOTO a meno che tu non carichi pack.zip da qualche parte per conto tuo: così lo serve il server integrato qui sotto e il link viene ricavato da solo. Scrivilo quando ospiti il pack altrove (un sito web, una CDN, un hosting condiviso che non ti dà una porta per il server integrato): vince sempre su tutto il resto. Dopo ogni build, ricarica il nuovo pack.zip.

generate-on-starttrue

Ricostruisci il pack a ogni avvio.

True è quasi sempre giusto: un server che torna su dovrebbe trovare il pack già aggiornato, e chiedere a un amministratore di digitare un comando dopo ogni riavvio è proprio il circolo vizioso che fa invecchiare i resource pack. La build gira fuori dal thread di gioco e non rallenta l'avvio.

send-on-jointrue

Invia il pack a chi entra.

True di fabbrica: item e blocchi custom senza il loro pack si vedono sbagliati, e il senso di questa estensione è che i giocatori li vedano senza niente da configurare. Il pack parte con il suo hash SHA-1, così un giocatore che ce l'ha già non lo riscarica. Chi entra mentre il pack è ancora in costruzione subito dopo un riavvio lo riceve appena è pronto.

È una funzione Premium.

requiredfalse

Se i giocatori DEVONO accettare il pack.

false: possono rifiutare e giocare senza (vedranno gli
       item custom come il materiale di cui sono fatti).
true:  il gioco offre solo "accetta" o "disconnetti".

Il testo nella schermata di download non è qui: è la chiave pack.prompt in lang/<language>.yml, così ogni giocatore lo legge nella propria lingua. Vuoto ('') significa nessun testo.

server - il server che consegna il pack

server8 chiavi

L'alternativa è caricare un file da decine di megabyte su un hosting e ricordarsi di rifarlo dopo ogni modifica. Quel circolo vizioso è il motivo per cui metà dei server con contenuti custom usano un pack vecchio di sei mesi.

È una funzione Premium. Senza, il pack resta in pack.zip qui accanto e lo servi come preferisci.

enabledtrue

Attivo di fabbrica: è ciò che porta il pack ai tuoi giocatori senza niente da configurare. Disattivalo solo se carichi tu pack.zip e scrivi il suo link in pack.url.

modeauto

Dove viene servito il pacchetto.

Continua a leggere
auto            la porta di Minecraft quando i giocatori arrivano a questo
                server direttamente; la sua porta (server.port, qui sotto)
                quando davanti c'è un proxy, quando public-address qui
                sotto ha una porta diversa da quella di Minecraft (la
                porta inoltrata per il server del pacchetto), o quando
                questo server non lascia ai plugin condividere la sua
                porta. Va bene quasi per tutti: la console dice quale
                ha scelto.
minecraft-port  sempre la porta di Minecraft (server-port in
                server.properties). Niente da aprire.
own-port        il suo piccolo server web su server.port, come fino
                alla versione 1.0.2.

Sulla porta di Minecraft si risponde solo al download del pacchetto attuale (il link contiene l'impronta SHA-1 del pacchetto, tutto il resto riceve un 404); ogni altra connessione passa a Minecraft intatta, e i giocatori non si accorgono di niente.

La porta di Minecraft NON può funzionare quando i giocatori non si collegano direttamente a questo server:

- un proxy BungeeCord o Velocity davanti: i giocatori si collegano al
  proxy, non qui. auto se ne accorge (bungeecord in spigot.yml,
  velocity o proxy-protocol in config/paper-global.yml) e usa la sua
  porta;
- un servizio di protezione DDoS davanti (TCPShield e simili) che fa
  passare solo il traffico di Minecraft. Quello da qui non si vede:
  metti own-port e apri server.port, oppure carica pack.zip da qualche
  parte e usa pack.url.
port8123

La porta del server proprio del pacchetto (TCP), usata da own-port - e da auto quando ricade su di essa. NON è la porta di Minecraft.

Continua a leggere

Deve essere raggiungibile da internet se i tuoi giocatori vengono da fuori: permettila nel firewall e, su una connessione di casa, girala dal router verso questa macchina. La console te lo ricorda a ogni avvio, con il link.

Su un hosting condiviso (Pterodactyl e simili) sono aperte solo le porte che ti danno loro: chiedine una in più - spesso si chiama "allocation" - e scrivila qui. Se non te ne danno, carica pack.zip da qualche parte e usa pack.url.

Se la porta è già occupata la console lo dice e il plugin va avanti senza il server: scegli un altro numero.

bind''

Su quale scheda di rete ascolta il server proprio del pacchetto (own-port). Vuoto vuol dire tutte, ed è quello che serve quasi sempre. Sulla porta di Minecraft vale quella di Minecraft: server-ip in server.properties.

local-players-use-lantrue

I giocatori sullo stesso computer o sulla stessa rete di casa del server ricevono un link locale (127.0.0.1 o l'indirizzo 192.168.x.x) invece di quello pubblico: quasi nessun router di casa lascia raggiungere il proprio IP pubblico dall'interno, quindi il download fallirebbe per te e per chi gioca da casa tua. I giocatori da fuori continuano a ricevere il link pubblico. Metti false solo se un proxy su questa stessa macchina nasconde gli indirizzi veri dei giocatori (allora sembrano tutti 127.0.0.1).

public-address''

L'indirizzo da mettere nel link di download.

Continua a leggere

VUOTO VA BENE QUASI PER TUTTI: il plugin lo trova da solo, in quest'ordine, e la console dice quale ha usato:

1. server.bind qui sopra, se è un IP pubblico;
2. server-ip in server.properties, se è un IP pubblico;
3. chiedendo a internet (public-ip-lookup qui sotto);
4. l'indirizzo di questa macchina sulla rete locale - che funziona solo
   per chi gioca sulla stessa rete, e la console ti avvisa.

Scrivilo quando hai un dominio (play.example.com), un proxy davanti, o quando da fuori la porta ha un numero diverso da quella su cui viene servito il pacchetto (play.example.com:30001). Una porta scritta qui vince sempre: sulla porta di Minecraft è quella che i giocatori scrivono per entrare, sulla porta propria del pacchetto quella girata su server.port.

public-ip-lookuptrue

Chiedi a internet l'IP pubblico di questo server, quando niente qui sopra lo fornisce.

Continua a leggere

Una volta all'avvio e dopo /scmodels reload, in background, qualche secondo al massimo. È una semplice richiesta HTTPS ai servizi qui sotto, che rispondono con l'IP che vedono: non viene inviato niente sul tuo server. Viene saltato quando public-address o pack.url sono compilati, o quando server-ip è già pubblico.

false = non chiedere mai: il link usa allora l'indirizzo della rete locale, a meno che tu non scriva public-address.

public-ip-services["https://shadow-licences.riccardobotins.worke…]

A chi chiedere, in ordine: se uno non risponde si prova il successivo. Va bene qualsiasi servizio che risponda con il solo IP. Di serie è il servizio licenze ShadowMC (lo stesso di license.activation-url), che risponde con l'indirizzo che vede e nient'altro.

Licenza

Questa estensione è venduta a parte, quindi ha una chiave sua: quella di ShadowCustomizer non la sblocca, ed è voluto - ogni prodotto è firmato da una coppia di chiavi che conosce solo quel prodotto.

license3 chiavi
activation-url'https://shadow-licences.riccardobotins.workers.dev'

L'indirizzo base del servizio di attivazione. Il plugin aggiunge da solo /claim e /check.

Questo è il NOSTRO servizio ed è già compilato per te: comprare e attivare devono essere lo stesso gesto. Lasciato vuoto - com'era distribuito questo file fino al 20/09/2026 - "/scmodels license claim <code>" non ha nessuno a cui chiedere, e un cliente pagante resta con in mano un codice che non fa niente. Cambialo solo se gestisci una tua copia del servizio.

grace-days7

Quanti giorni il plugin continua a funzionare dopo che il servizio smette di rispondere. Non è generosità: un abbonamento appena rinnovato, un intoppo del DNS o un disservizio da parte nostra non devono mai togliere Premium a chi ha pagato.

resolve-public-iptrue

Chiede al servizio di attivazione qui sopra (activation-url + /ip) come si vede questo server da fuori: risponde con l'indirizzo che vede, e del server non viene inviato niente. È l'unico modo in cui una macchina dietro un NAT può conoscere l'indirizzo che usano i suoi giocatori. Solo con una licenza installata: un server senza chiave non chiede niente a nessuno. false = non chiedere mai.

bStats (statistiche d'uso anonime, https://bStats.org)

Cosa viene inviato, ogni 30 minuti: un id casuale del server (serverUuid, non derivato da niente), la versione del plugin, le versioni di Minecraft/Paper e di Java, il sistema operativo e il numero di core, la online mode, quanti giocatori sono online (solo un numero) e il livello della licenza (free/premium/creator). NESSUN dato dei giocatori: niente nomi, niente UUID, niente indirizzi.

Continua a leggere

false disattiva solo questo plugin. enabled: false in plugins/bStats/config.yml disattiva ogni plugin bStats sul server in una volta.

metrics1 chiave
enabledtrue

equipment.yml

L’aspetto delle armature indossate
3 impostazioni
plugins/ShadowCustomizerModels/equipment.yml
Note del file

Questo è il file che risolve il problema in cui inciampano tutti: un set di armatura custom che in mano sembra perfetto e addosso sembra di netherite.

PERCHÉ SUCCEDE. Un modello è il modo in cui viene disegnato un ITEM - in mano, nell'inventario, a terra. Nel momento in cui l'armatura viene INDOSSATA, il gioco smette di disegnare quel modello: stende invece due strati di texture sul corpo del giocatore. Quali strati usare non è scritto nell'item e nemmeno nel modello. È una cosa separata - un equipment asset - e senza di esso il gioco ripiega su quello del materiale.

Ogni voce qui diventa uno di quegli asset dentro il pack, e un item lo reclama scrivendo lo stesso nome nella sua riga 'equipment':

shadowsteel_chestplate:
  material: NETHERITE_CHESTPLATE
  model: 'shadow:shadowsteel_chestplate'     <- in mano
  equipment: 'shadow:shadowsteel'            <- addosso

GLI STRATI. 'humanoid' è il corpo, le braccia e la testa; 'humanoid_leggings' sono le gambe, che il gioco tiene separate perché quella geometria è a sé; 'wings' è l'elytra, che non è né l'uno né l'altro. Un pezzo che ne usa solo uno ne dichiara uno solo.

UNA ELYTRA È LA STESSA STORIA del pettorale: un modello da solo ti dà ali custom nell'inventario e ali vanilla in volo, perché in volo il gioco disegna lo strato 'wings' e non il modello. È a questo che serve shadowsteel_wings qui sotto.

LE IMMAGINI vanno in textures/entity/equipment/<layer>/<name>.png, con lo stesso nome della voce qui. Sono normali texture degli strati dell'armatura, della stessa forma che usa vanilla. Vengono copiate nel pack insieme a tutte le altre.

LA TESTA È L'ECCEZIONE. Sullo slot della testa il gioco disegna il MODELLO DELL'ITEM, non uno strato. Un elmo con un modello 3D si indossa esattamente come appare in mano - è così che funzionano i cappelli nei resource pack - quindi a un elmo non serve niente qui per mostrare il suo modello. Può comunque usare questo file, se invece vuoi il classico aspetto a strati.

config-version1
equipment2 chiavi
equipment.shadowsteel1 chiave

Acciaio d'Ombra: corpo e gambe.

layers[humanoid, humanoid_leggings]
equipment.shadowsteel_wings1 chiave

Le ali dell'elitra. Strato a se': la geometria delle ali non e' quella del corpo.

layers[wings]

models/content.yml

L’aspetto del contenuto incluso
108 impostazioni
plugins/ShadowCustomizerModels/models/content.yml
Note del file

Ogni id qui corrisponde a un id nelle cartelle items/ e blocks/ di ShadowCustomizer. Questo file dice solo come viene DISEGNATA una cosa; cosa fa sta nell'altro plugin.

Due tipi di voce:

file:      un modello fatto in Blockbench, che sta in model-files/. Il
           builder lo copia così com'è e scrive tutto ciò che c'è attorno.
           Ogni arma e ogni pezzo di armatura qui sotto è uno
           di questi: sono veri modelli 3D, non sprite piatti.
texture:   un'immagine piatta in textures/. Tre righe e hai finito.
           I minerali e i drop grezzi sono di questo tipo.

Le chiavi sono in inglese, come ogni chiave in ogni file.

config-version1

Minerali - i blocchi nel mondo

antracite_ore3 chiavi

type: block scrive la variante anche nel blockstate del note block, che è ciò che fa sembrare il blocco diverso da un note block.

typeblock
texture'block/antracite_ore'
parent'block/cube_all'
arcadium_ore3 chiavi
typeblock
texture'block/arcadium_ore'
parent'block/cube_all'
elektron_ore3 chiavi
typeblock
texture'block/elektron_ore'
parent'block/cube_all'
oricalco_ore3 chiavi
typeblock
texture'block/oricalco_ore'
parent'block/cube_all'

Minerali - grezzi e raffinati

antracite_raw3 chiavi

item/generated è il parent di ogni item piatto. È il default, scritto qui per esteso così lo schema si vede.

typeitem
texture'item/antracite_raw'
parent'item/generated'
antracite_dust3 chiavi
typeitem
texture'item/antracite_dust'
parent'item/generated'
arcadium_raw3 chiavi
typeitem
texture'item/arcadium_raw'
parent'item/generated'
arcadium_ingot3 chiavi
typeitem
texture'item/arcadium_ingot'
parent'item/generated'
elektron_raw3 chiavi
typeitem
texture'item/elektron_raw'
parent'item/generated'
elektron_ingot3 chiavi
typeitem
texture'item/elektron_ingot'
parent'item/generated'
oricalco_raw3 chiavi
typeitem
texture'item/oricalco_raw'
parent'item/generated'
oricalco_rod3 chiavi
typeitem
texture'item/oricalco_rod'
parent'item/generated'

Shadowsteel - il primo set di armi, modelli 3D

shadowsteel_sword2 chiavi

Questi dichiarano le proprie texture dentro il JSON, quindi non c'è niente da scrivere qui oltre al nome del file. Le texture che chiedono sono in textures/item/ con i percorsi che il modello si aspetta.

typeitem
file'shadowsteel_sword.json'
shadowsteel_axe2 chiavi
typeitem
file'shadowsteel_axe.json'
shadowsteel_pickaxe2 chiavi
typeitem
file'shadowsteel_pickaxe.json'
shadowsteel_bow3 chiavi
typeitem
file'shadowsteel_bow.json'
pulling
[shadowsteel_bow_0, shadowsteel_bow_1, shadowsteel_bow_2]+1

I tre gradi di trazione. Senza questa riga l'arco resta immobile mentre lo tiri: il pacchetto conosce un modello solo e il gioco disegna quello. Le soglie sono quelle di vanilla, cosi' si piega con il ritmo di ogni altro arco - un ritmo diverso si nota, e si nota come un difetto.

shadowsteel_crossbow5 chiavi
typeitem
file'shadowsteel_crossbow.json'
pulling
[shadowsteel_crossbow_0, shadowsteel_crossbow_1, shadowsteel_crossbow_2]+1

Una balestra ne vuole sei: tre di carica, piu' scarica, carica a freccia e carica a razzo.

chargedshadowsteel_crossbow_charged
fireworkshadowsteel_crossbow_firework
shadowsteel_trident2 chiavi
typeitem
file'shadowsteel_trident.json'
shadowsteel_shield3 chiavi
typeitem
file'shadowsteel_shield.json'
blockingshadowsteel_shield_blocking

La posa di parata. Senza, lo scudo alzato si vede come lo scudo abbassato.

Shadowsteel - l'armatura

shadowsteel_helmet2 chiavi

Elmo e pettorale hanno un modello 3D; gambali e stivali sono piatti, perché il set da cui vengono non ha un modello per quei due.

Quello che dicono queste voci è che aspetto ha l'ITEM. Che aspetto ha il set INDOSSATO sta in equipment.yml qui accanto: una volta indossata l'armatura, il gioco stende strati di texture sul corpo e smette di disegnare il modello dell'item. L'elmo è l'eccezione - sulla testa quello che vedi è il modello dell'item stesso.

typeitem
file'shadowsteel_helmet.json'
shadowsteel_chestplate3 chiavi

Il pettorale non ha un modello 3D, e non e' una dimenticanza: il set da cui viene l'armatura non ne ha uno. Quello che sembrava il suo era il modello di un BAULE, ed e' esattamente quello che si vedeva nell'inventario.

Non serve. Un pettorale in mano si vede per mezzo secondo; quello che si guarda tutto il tempo e' come sta ADDOSSO, e quello lo fa equipment.yml con i suoi strati - che infatti gia' funzionava.

typeitem
texture'item/shadowsteel_chestplate'
parent'item/generated'
shadowsteel_leggings3 chiavi
typeitem
texture'item/shadowsteel_leggings'
parent'item/generated'
shadowsteel_boots3 chiavi
typeitem
texture'item/shadowsteel_boots'
parent'item/generated'

Darkflame - il secondo set di armi, modelli 3D e texture animate

darkflame_sword2 chiavi

Questo set porta dei file .mcmeta accanto ad alcune delle sue texture: sono descrittori di animazione, e vengono copiati nel pack insieme alle immagini. È per questo che le loro fiamme si muovono.

typeitem
file'darkflame_sword.json'
darkflame_axe2 chiavi
typeitem
file'darkflame_axe.json'
darkflame_pickaxe2 chiavi
typeitem
file'darkflame_pickaxe.json'
darkflame_bow3 chiavi
typeitem
file'darkflame_bow.json'
pulling
[darkflame_bow_0, darkflame_bow_1, darkflame_bow_2]+1
darkflame_spear2 chiavi
typeitem
file'darkflame_spear.json'
darkflame_shield3 chiavi
typeitem
file'darkflame_shield.json'
blockingdarkflame_shield_blocking
ranger_crossbow2 chiavi
typeitem
file'ranger_crossbow.json'

Teste dei boss

darkflame_helmet2 chiavi

Un mob le indossa come elmo. È così che un mob ottiene un aspetto custom senza un plugin di modelli separato: la testa che vedi è un item con un modello 3D nello slot della testa del mob.

typeitem
file'darkflame_helmet.json'
pumpkin_king_head2 chiavi
typeitem
file'pumpkin_king_head.json'

L'elytra

shadowsteel_elytra2 chiavi

Il modello è l'item che hai in mano. Le ali con cui voli non sono qui: sono un aspetto da indossato, e vivono in equipment.yml.

typeitem
file'shadowsteel_elytra.json'

Mobili

runic_chest2 chiavi

type: block con un file Blockbench, che è la combinazione che rende possibili i mobili: un blocco custom non è obbligato a essere un cubo. Il modello viene disegnato nel mondo esattamente com'è stato disegnato.

Il blocco sotto resta comunque un note block intero, quindi la hitbox è un cubo pieno qualunque cosa dica la forma. Vedi blocks/furniture.yml.

typeblock
file'runic_chest.json'
crypt_tombstone2 chiavi
typeblock
file'crypt_tombstone.json'
steel_warden_model2 chiavi

Il corpo dello Steel Warden (mobs.yml): indossato da un display sul mob, non da un giocatore.

typeitem
file'steel_warden_model.json'

I fotogrammi

shadowsteel_bow_0{ type: item, file: 'shadowsteel_bow_0.json' }

Modelli normali, dichiarati come qualsiasi altro. Non vengono mai indossati da soli: le voci qui sopra li nominano, e il pack dice quando disegnare ciascuno.

Sono elencati a parte perché è quello che sono - fotogrammi di un'animazione, non item - e perché un arco ne ha tre e seppellirebbero l'arma a cui appartengono.

shadowsteel_bow_1{ type: item, file: 'shadowsteel_bow_1.json' }
shadowsteel_bow_2{ type: item, file: 'shadowsteel_bow_2.json' }
shadowsteel_crossbow_0
{ type: item, file: 'shadowsteel_crossbow_0.json' }+1
shadowsteel_crossbow_1
{ type: item, file: 'shadowsteel_crossbow_1.json' }+1
shadowsteel_crossbow_2
{ type: item, file: 'shadowsteel_crossbow_2.json' }+1
shadowsteel_crossbow_charged
{ type: item, file: 'shadowsteel_crossbow_charged.json' }+1
shadowsteel_crossbow_firework
{ type: item, file: 'shadowsteel_crossbow_firework.json' }+1
shadowsteel_shield_blocking
{ type: item, file: 'shadowsteel_shield_blocking.json' }+1
darkflame_bow_0{ type: item, file: 'darkflame_bow_0.json' }
darkflame_bow_1{ type: item, file: 'darkflame_bow_1.json' }
darkflame_bow_2{ type: item, file: 'darkflame_bow_2.json' }
darkflame_shield_blocking
{ type: item, file: 'darkflame_shield_blocking.json' }+1

Lingue

I testi che il plugin mostra ai giocatori, un file per lingua.

lang/

Testi e messaggi
2 file
plugins/ShadowCustomizerModels/lang/
Note del file

ShadowCustomizerModels - inglese

Tutti i messaggi che il plugin mostra ai giocatori, un file per lingua. Le chiavi non sono elencate una per una: qui ci sono i file, quanti testi contengono e i segnaposto che usano.

FileLinguaTesti
lang/en_US.yml riferimento English 166
lang/it_IT.yml Italiano 166

Segnaposto più usati

Il plugin li sostituisce con il valore giusto: vanno lasciati scritti così.

  • <prefix>
  • <label>
  • <path>
  • <model>
  • <port>
  • <count>
  • <source>
  • <reason>
  • <url>
  • <id>
  • <player>
  • <error>
  • <files>
  • <state>

Gruppi di messaggi

  • prefix 1
  • common 6
  • command 5
  • confirm 6
  • help 7
  • pack 21
  • report 34
  • server 6
  • status 13
  • reload 2
  • address 7
  • log 23
  • license 35

Tutta la documentazione