Configurazione
ShadowCustomizer Models
L'estensione per i modelli 3D di ShadowCustomizer.
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.
Nessuna impostazione trovata
Prova con un’altra parola, oppure cerca in tutti i plugin.
Impostazioni
I file che decidono come si comporta il plugin. Si parte da qui.
config.yml
Impostazioni generali 25 impostazioni
config.ymlplugins/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 servitoDevo scrivere un indirizzo, un link, o aprire una porta?
Di solito: NO. Di serie il plugin fa tutto il lavoro:
Continua a leggere
1. costruisce pack.zip a ogni avvio (e con /scmodels generate) 2. lo serve lui stesso sulla porta di Minecraft: i giocatori lo scaricano dallo stesso indirizzo e dalla stessa porta con cui giocano 3. trova l'indirizzo con cui i giocatori raggiungono questa macchina 4. manda il pacchetto a ogni giocatore che entra
Niente da aprire: la porta che i tuoi giocatori usano già è quella su cui viaggia il pacchetto. La console stampa il link a ogni avvio.
L'eccezione è un server che i giocatori non raggiungono direttamente - un proxy BungeeCord/Velocity, o un servizio di protezione DDoS, davanti. Lì il pacchetto ha una porta sua, la 8123 (TCP) di serie, che deve essere raggiungibile da internet: vedi server.mode qui sotto.
I passi 2 e 4, e pack-extra/, sono funzioni Premium. Nella versione gratuita il pacchetto viene costruito lo stesso: carica pack.zip da qualche parte, scrivi il suo link in pack.url, e mandalo con /scmodels send.
Gli indirizzi qui sotto esistono per i casi in cui la via automatica non è quella giusta, e altrimenti puoi lasciarli tutti vuoti:
pack.url carichi tu pack.zip (hosting web, una CDN). Il
link completo. Vince sempre.
server.public-address l'indirizzo trovato da solo è sbagliato: hai un
dominio, un proxy davanti, o la porta è girata
su un altro numero.
server.bind la macchina ha più schede di rete e il server
proprio del pacchetto deve ascoltare su una sola
(solo porta propria).Un valore sbagliato non ferma mai niente: viene sostituito con quello di default e segnalato in console.
AGGIORNAMENTI: quando una nuova versione cambia questo file (o i file lang/, models/content.yml ed equipment.yml), la tua copia viene portata automaticamente alla nuova versione: tutto ciò che hai cambiato viene mantenuto, i valori che non hai mai toccato prendono i nuovi default. I tuoi vecchi file sono in backup/<date>/, e se qualcosa richiede la tua attenzione troverai PORTING-<version>.txt in questa cartella.
OGNI CHIAVE IN OGNI FILE È IN INGLESE. Si traduce ciò che legge un giocatore, e quello vive in lang/.
config-version1core
core1 chiaveserver-ip''L'indirizzo con cui questo server è conosciuto dall'esterno. Serve solo alla licenza. Vuoto va bene per quasi tutti.
messages
messages2 chiavidefault-localeen_USLa 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-localetrueOgni giocatore legge i messaggi nella lingua del proprio client, quando quel file esiste.
pack - il pack che viene costruito
pack9 chiavinamespaceshadowIl 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.
format88Il 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
packbase''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-overridesfalseChi 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-starttrueRicostruisci 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-jointrueInvia 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.
requiredfalseSe 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 chiaviL'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.
enabledtrueAttivo 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.
modeautoDove 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.
port8123La 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-lantrueI 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-lookuptrueChiedi 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 chiaviactivation-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-days7Quanti 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-iptrueChiede 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 chiaveenabledtrue equipment.yml
L’aspetto delle armature indossate 3 impostazioni
equipment.ymlplugins/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-version1equipment2 chiaviequipment.shadowsteel1 chiaveAcciaio d'Ombra: corpo e gambe.
layers[humanoid, humanoid_leggings]equipment.shadowsteel_wings1 chiaveLe 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
models/content.ymlplugins/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-version1Minerali - i blocchi nel mondo
antracite_ore3 chiavitype: block scrive la variante anche nel blockstate del note block, che è ciò che fa sembrare il blocco diverso da un note block.
typeblocktexture'block/antracite_ore'parent'block/cube_all'arcadium_ore3 chiavitypeblocktexture'block/arcadium_ore'parent'block/cube_all'elektron_ore3 chiavitypeblocktexture'block/elektron_ore'parent'block/cube_all'oricalco_ore3 chiavitypeblocktexture'block/oricalco_ore'parent'block/cube_all'Minerali - grezzi e raffinati
antracite_raw3 chiaviitem/generated è il parent di ogni item piatto. È il default, scritto qui per esteso così lo schema si vede.
typeitemtexture'item/antracite_raw'parent'item/generated'antracite_dust3 chiavitypeitemtexture'item/antracite_dust'parent'item/generated'arcadium_raw3 chiavitypeitemtexture'item/arcadium_raw'parent'item/generated'arcadium_ingot3 chiavitypeitemtexture'item/arcadium_ingot'parent'item/generated'elektron_raw3 chiavitypeitemtexture'item/elektron_raw'parent'item/generated'elektron_ingot3 chiavitypeitemtexture'item/elektron_ingot'parent'item/generated'oricalco_raw3 chiavitypeitemtexture'item/oricalco_raw'parent'item/generated'oricalco_rod3 chiavitypeitemtexture'item/oricalco_rod'parent'item/generated'Shadowsteel - il primo set di armi, modelli 3D
shadowsteel_sword2 chiaviQuesti 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.
typeitemfile'shadowsteel_sword.json'shadowsteel_axe2 chiavitypeitemfile'shadowsteel_axe.json'shadowsteel_pickaxe2 chiavitypeitemfile'shadowsteel_pickaxe.json'shadowsteel_bow3 chiavitypeitemfile'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 chiavitypeitemfile'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_chargedfireworkshadowsteel_crossbow_fireworkshadowsteel_trident2 chiavitypeitemfile'shadowsteel_trident.json'shadowsteel_shield3 chiavitypeitemfile'shadowsteel_shield.json'blockingshadowsteel_shield_blockingLa posa di parata. Senza, lo scudo alzato si vede come lo scudo abbassato.
Shadowsteel - l'armatura
shadowsteel_helmet2 chiaviElmo 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.
typeitemfile'shadowsteel_helmet.json'shadowsteel_chestplate3 chiaviIl 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.
typeitemtexture'item/shadowsteel_chestplate'parent'item/generated'shadowsteel_leggings3 chiavitypeitemtexture'item/shadowsteel_leggings'parent'item/generated'shadowsteel_boots3 chiavitypeitemtexture'item/shadowsteel_boots'parent'item/generated'Darkflame - il secondo set di armi, modelli 3D e texture animate
darkflame_sword2 chiaviQuesto 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.
typeitemfile'darkflame_sword.json'darkflame_axe2 chiavitypeitemfile'darkflame_axe.json'darkflame_pickaxe2 chiavitypeitemfile'darkflame_pickaxe.json'darkflame_bow3 chiavitypeitemfile'darkflame_bow.json'pulling[darkflame_bow_0, darkflame_bow_1, darkflame_bow_2]+1
darkflame_spear2 chiavitypeitemfile'darkflame_spear.json'darkflame_shield3 chiavitypeitemfile'darkflame_shield.json'blockingdarkflame_shield_blockingranger_crossbow2 chiavitypeitemfile'ranger_crossbow.json'Teste dei boss
darkflame_helmet2 chiaviUn 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.
typeitemfile'darkflame_helmet.json'pumpkin_king_head2 chiavitypeitemfile'pumpkin_king_head.json'L'elytra
shadowsteel_elytra2 chiaviIl 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.
typeitemfile'shadowsteel_elytra.json'Mobili
runic_chest2 chiavitype: 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.
typeblockfile'runic_chest.json'crypt_tombstone2 chiavitypeblockfile'crypt_tombstone.json'steel_warden_model2 chiaviIl corpo dello Steel Warden (mobs.yml): indossato da un display sul mob, non da un giocatore.
typeitemfile'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
lang/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.
| File | Lingua | Testi |
|---|---|---|
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
prefix1common6command5confirm6help7pack21report34server6status13reload2address7log23license35