Vai al contenuto

MineDnD Pack Editor

L'app desktop per costruire un datapack MineDnD: creane uno nuovo o apri il tuo, come .zip o come cartella, e lavora sui suoi file JSON direttamente lì. Ogni file viene controllato mentre scrivi, con le regole che applica il gioco, e così il pacchetto nel suo insieme (ciò che un file nomina deve esistere in un altro); a destra l'anteprima di ogni file come lo vedranno i giocatori (il tooltip di un oggetto, la griglia di una ricetta, la notifica di un obiettivo…). Salva riscrive nello stesso zip o nella stessa cartella. Windows, macOS e Linux; italiano e inglese (si cambia dal menu Vista). Si aprono anche singoli file JSON.

Scaricare

Scarica il file per il tuo sistema dalla pagina Releases del repository. Vengono aggiunti a una release a parte, quindi se la più recente non li ha ancora, prendili da una release precedente. Fino alla 0.10 l'app si chiamava MineDnD Validator: il Pack Editor è un'app a parte, e la vecchia si può disinstallare.

Non c'è niente da installare: ogni download è l'app stessa, da avviare da qualsiasi cartella o da una chiavetta USB.

Sistema File Note
Windows MineDnD-Pack-Editor-<versione>-windows-portable.exe Avviala
macOS MineDnD-Pack-Editor-<versione>-macos.zip Universale: Apple Silicon e Intel. Estrai lo zip e avvia l'app (spostala in Applicazioni, se vuoi)
Linux MineDnD-Pack-Editor-<versione>-linux-x86_64.AppImage Qualsiasi distribuzione: chmod +x, poi avviala

Release candidate: mentre la prossima versione è in prova, la pre-release "MineDnD release candidate" (tag rc-v<versione>) contiene MineDnD Pack Editor RC (MineDnD-Pack-Editor-RC-<versione>-…): l'app di quella versione, un'app a parte rispetto a quella rilasciata, che apre la documentazione della release candidate (https://rc.minednd.pages.dev/it/). Può cambiare prima del rilascio, e viene cancellata quando la versione esce.

Le build non sono firmate con un certificato a pagamento, quindi al primo avvio compare un avviso:

  • Windows: "Windows ha protetto il PC" → Ulteriori informazioni → Esegui comunque.
  • macOS: "non può essere aperta perché lo sviluppatore non può essere verificato" (o "è danneggiata") → clic destro sull'app → Apri → Apri (oppure Impostazioni di Sistema → Privacy e sicurezza → Apri comunque). Solo la prima volta.
  • Linux: su alcune distribuzioni le AppImage richiedono FUSE 2 (Ubuntu 22.04+: sudo apt install libfuse2).

Il tuo datapack

  • File → Nuovo datapack… (Ctrl/Cmd+Maiusc+N) chiede il suo namespace, la cartella sotto data/ per i tuoi contenuti e la prima parte dei loro id (my_campaign → my_campaign:ruby_ring; minecraft, minednd e dnd5e sono già usati). Il nuovo pacchetto ha pack.mcmeta per questa versione di Minecraft, i file di lingua inglese e italiano e le cartelle di sempre (items, recipe, crafting_requirements, enchantment, loot_injections, advancement, title). Sul disco non c'è niente finché Salva come… non crea lo zip.
  • Apri… lo .zip di un datapack (es. MineDnD-Default-Content-<versione>.zip di una release), Apri cartella… uno estratto (la cartella con dentro pack.mcmeta), o trascina l'uno o l'altra sulla finestra. File → Apri recenti elenca gli ultimi 8 zip e cartelle aperti o salvati.

  • L'albero dei file a sinistra elenca ogni file, con il numero di errori (rosso) e di avvisi (arancione); le cartelle sommano quello che contengono. Solo i file con problemi nasconde gli altri. Il pacchetto si apre sul primo file con un errore.

  • Clicca un file per aprirlo nell'editor: viene controllato e mostrato in anteprima come sempre, con le traduzioni del pacchetto. Le modifiche restano nell'app finché non salvi; un ● segna i file modificati.
  • Sopra l'albero: i totali del pacchetto e i problemi del pacchetto nel suo insieme.
  • File: File → Nuovo file nel pacchetto… (o tasto destro su una cartella → Nuovo file…) chiede il percorso, es. data/my_campaign/items/rings/ruby_ring.json: le cartelle che non ci sono ancora vengono create. Il file parte vuoto ({}), o scegli un Modello: un piccolo oggetto, ricetta con forma, di distillazione, di forgiatura, da arciere, potenziamento da arciere, d'infusione o di cottura, iniezione nel bottino, incantesimo, regola sui requisiti, impresa, titolo, tag, impostazioni del mondo, traduzioni o pack.mcmeta già valido, con il nome del file (ruby_ring.json → "Ruby Ring", my_campaign:ruby_ring). Un modello fissa la cartella da cui il gioco legge quel tipo di file (es. data/my_campaign/items/, nel namespace in cui lo stai creando) e scrivi il resto (weapons/ruby_ring.json); settings.json e pack.mcmeta hanno un percorso fisso. Scegli di nuovo Vuoto per un percorso qualsiasi. Tasto destro su un file (o il menu Modifica) per Rinomina / sposta… (cambia le cartelle per spostarlo), Duplica (ruby_ring_copy.json) ed Elimina; tasto destro su una cartella per rinominarla, spostarla o eliminarla con tutto quello che contiene. Canc (o Ctrl/Cmd+Backspace) elimina il file selezionato. Tutto aspetta Salva, come una modifica.
  • Cartelle: File → Nuova cartella nel pacchetto… (o tasto destro su una cartella → Nuova cartella…) crea una cartella vuota, es. data/mio_pacchetto per il tuo namespace, così i file che ci crei (e i loro modelli) lo usano: data/mio_pacchetto/items/, mio_pacchetto:ruby_ring. La finestra avvisa quando un nome non è leggibile dal gioco (lettere minuscole, cifre e _ - .). Una cartella vuota resta nell'albero, e Salva la crea nella cartella o nello zip.
  • Salva (Ctrl/Cmd+S) riscrive le modifiche: nello stesso zip, o, per una cartella, nei suoi file. In una cartella, i file eliminati e quelli rinominati altrove finiscono nel Cestino, così si possono recuperare, e le cartelle rimaste vuote vengono tolte (non quelle create con Nuova cartella). Salva come… scrive il pacchetto come nuovo zip, pronto da condividere o da mettere nella cartella datapacks di un mondo (anche partendo da una cartella). Se il pacchetto ha ancora errori, l'app dice quanti e chiede prima di salvare.
  • Chiudere il pacchetto, o aprire altro, chiede conferma se ci sono modifiche non salvate.

Oltre ai controlli di ogni file, controlla il pacchetto stesso:

Controllo Gravità
pack.mcmeta assente, o non in cima allo zip (dentro MyPack/, perché è stata compressa la cartella invece del suo contenuto: Salva come… lo sposta in cima) Errore
Nessuna cartella data Errore
Un namespace o un nome di file che il gioco non sa leggere (maiuscole, spazi, accenti): il gioco salta quei file Errore
Lo stesso percorso due volte nello zip, o due percorsi che differiscono solo per le maiuscole (lo stesso file su Windows e macOS) Errore
Un file fuori dalle cartelle che il gioco legge (data/<namespace>/<cartella>/…) Avviso
Lo stesso oggetto in items/ e nella vecchia cartella gm_items/ (la mod usa items/) Avviso
La stessa chiave di traduzione, con testi diversi, nei file lang di due namespace (il gioco ne mostra una) Avviso
Tra i file: un oggetto, incantesimo, ricetta, impresa, tag di pozioni o tabella del bottino che un file nomina nel namespace del pacchetto, e che nessun file definisce (il risultato o un catalog_item di una ricetta, l'oggetto di un'iniezione nel bottino, gli incantesimi di un oggetto, le ricette e i tag di pozioni di una regola, l'impresa di un titolo, il genitore e le ricompense di un'impresa). L'editor sottolinea l'id Avviso
Un testo che il pacchetto traduce (chiavi translate del suo namespace) senza testo in nessuno dei suoi file di lingua Avviso
Contenuti nel namespace del motore minednd (lì vanno solo settings.json e i tag di aggancio fletching_table e first_time_xp) Avviso
Id del namespace di un altro pacchetto, es. dnd5e del Default Content: una nota per tutto il pacchetto, perché al mondo serve anche quello Nota
Un testo che manca in una delle lingue del pacchetto; una category di un oggetto senza il testo minednd.category.<categoria> (l'elenco della scheda Infondi ne mostra il nome); minecraft:custom_model_data che nomina solo l'oggetto stesso (ora lo fa un file di aspetto con il nome dell'oggetto); un file che sostituisce uno del Default Content Nota
File che il Pack Editor non controlla (loot table, funzioni, …), file che non fanno parte di un datapack, file inutili dei programmi di compressione (__MACOSX, .DS_Store: tolti al salvataggio) Nota

L'editor

  • Tutto è nei menu dell'app (su macOS nella barra dei menu in cima allo schermo, su Windows e Linux in cima alla finestra):
  • File: Nuovo datapack… (Ctrl/Cmd+Maiusc+N), Apri… (Ctrl/Cmd+O) uno zip o un file (o trascinalo sulla finestra), Apri cartella… (Ctrl/Cmd+Maiusc+O), Apri recenti, Salva (Ctrl/Cmd+S) e Salva come… (Ctrl/Cmd+Maiusc+S); Nuovo file vuoto; con un pacchetto aperto, Nuovo file nel pacchetto…, Nuova cartella nel pacchetto… e Chiudi pacchetto; Esci (Windows, Linux; su macOS Esci è nel menu dell'app).
  • Modifica: Annulla, Ripeti, Taglia, Copia, Incolla, Seleziona tutto, Trova / sostituisci… (Ctrl/Cmd+F) nell'editor; Rinomina / sposta…, Duplica ed Elimina per il file del pacchetto aperto nell'editor.
  • Vista: Solo i file con problemi (in un pacchetto), e la lingua (English o Italiano).
  • Esempi: un file da cui partire, dal datapack Default Content, dal pacchetto del tutorial o dal pacchetto di prova dei modelli (un modello di forgiatura nascosto e limitato, una ricetta di forgiatura, un'iniezione nel bottino, una tabella del bottino).
  • Aiuto: Guida ↗ apre questa pagina nel browser, e Informazioni (su macOS nel menu dell'app).
  • Anche il menu del tasto destro nell'albero dei file è quello del sistema.
  • Tipo di file è Rileva di default: il tipo dipende da dove si trova il file nel suo datapack (data/<namespace>/items/… è un oggetto, data/<namespace>/recipe/… una ricetta, data/<namespace>/settings.json le impostazioni del mondo e così via, vedi Datapack) oppure, per un file che non è ancora in un datapack, dal contenuto. Se sbaglia, scegli il tipo a mano.
  • La lista dei problemi si aggiorna mentre scrivi. Clicca un problema per andarci; gli stessi problemi sono sottolineati nell'editor.
  • Quando apri un file da un datapack, l'app legge anche le traduzioni di quel datapack (data/*/lang/en_us.json e it_it.json), così nell'anteprima le chiavi translate diventano il loro testo.
  • Per oggetti e regole dei requisiti, Personaggio imposta i punteggi di caratteristica del giocatore dell'anteprima (Tutti li imposta tutti insieme): i requisiti diventano verdi o rossi, e un oggetto mostra se i suoi bonus sarebbero attivi.

Cosa controlla

Le stesse regole che la mod applica quando carica un datapack, quindi un file senza errori qui si carica in gioco:

Gravità Significa
Errore Il gioco rifiuta il file (o la voce): JSON sbagliato, un campo obbligatorio mancante, un valore fuori intervallo, una caratteristica, uno slot, un componente o un trigger sconosciuto
Avviso Si carica, ma probabilmente non come volevi: un campo sconosciuto (con un suggerimento "forse intendevi…?"), un campo che il tipo di abilità ignora, una chiave della ricetta che lo schema non usa mai, una regola che non trova nulla
Info Utile da sapere, niente da correggere

Tipi di file: oggetti, ricette (con forma, senza forma, alambicco, forgiatura, arciere, potenziamento da arciere, infusione, cottura), iniezioni nel bottino, tabelle del bottino (solo le voci minednd:catalog_item), incantesimi, regole dei requisiti, obiettivi (advancement), titoli, tag, impostazioni del mondo (settings.json, formula dell'XP compresa), traduzioni e pack.mcmeta.

Un singolo file aperto da solo viene controllato per conto suo; in un datapack anche rispetto agli altri file del pacchetto. Ciò che dipende da altri pacchetti (un id del Default Content, il contenuto di un tag di Minecraft) si vede in gioco: carica il pacchetto e guarda il log del gioco (Trovare gli errori).

Cosa mostra in anteprima

File Anteprima
Oggetto Il tooltip del gioco: nome nel colore della rarità, incantesimi, descrizione, modificatori degli attributi, requisiti, l'abilità attiva (tasto, danni, ricarica) e il bonus alle caratteristiche
Ricetta La griglia di fabbricazione con il risultato, l'alambicco, il banco da forgiatura, il tavolo da arciere (griglia o potenziamento), la scheda Infondi del tavolo da incantesimi con il costo, o fornace, affumicatore o falò con il tempo di cottura
Iniezione nel bottino, tabella del bottino L'oggetto, la probabilità e le tabelle; gli oggetti MineDnD che una tabella può dare
Incantesimo Il tooltip del libro incantato, a cosa si applica, e una tabella con ogni livello e il suo costo
Regola dei requisiti Cosa blocca, per quali oggetti o blocchi, e quali punteggi richiede
Obiettivo La notifica che compare, il suo tooltip e i suoi criteri
Titolo La targhetta sopra il giocatore
Impostazioni del mondo Cosa hai cambiato rispetto ai valori predefiniti, cosa fa ogni punteggio di caratteristica, e quanta XP costa ogni livello
Tag, traduzioni, pack.mcmeta I loro valori, le traduzioni affiancate, il pack come appare nella lista dei pack

Problemi comuni

  • L'exe portatile per Windows non si avvia: richiede il runtime WebView2 di Microsoft, incluso in Windows 10 e 11 (su un sistema vecchio o ridotto, installa "WebView2 Runtime" da Microsoft).
  • Niente menu, Apri e Salva non fanno nulla: i menu sono quelli dell'app, quindi una pagina aperta in un browser (npm run dev) non li ha. Lì trascina un file o uno zip sulla pagina, e Ctrl/Cmd+Maiusc+S scarica lo zip di un pacchetto.
  • Un nome tradotto compare come chiave (item.dnd5e.flame_sword): il file non è stato aperto dall'interno del suo datapack, quindi l'app non ha trovato le traduzioni. Aprilo dalla cartella del datapack, o ignoralo: il gioco mostra il testo.