🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.21
Questa pagina si applica alla versione:
1.21
Questa pagina analizzerà la struttura di un progetto per una mod Fabric, e l'utilità di ogni file e cartella nel progetto.
fabric.mod.json
Il file fabric.mod.json
è il file principale che descrive la tua mod al Loader di Fabric. Contiene informazioni come l'ID della mod, la versione, e le dipendenze.
Gli attributi più importanti nel file fabric.mod.json
sono:
id
: L'ID della mod, che dovrebbe essere unico.name
: Il nome della mod.environment
: L'ambiente in cui la tua mod viene eseguita, come client
, server
, o *
per entrambi.entrypoints
: Gli entrypoint che la tua mod fornisce, come main
o client
.depends
: Le mod da cui la tua mod dipende.mixins
: I mixin che la tua mod fornisce.Puoi trovare un esempio del file fabric.mod.json
sotto - questo è il file fabric.mod.json
per il progetto di riferimento su cui è basato questo sito di documentazione.
fabric.mod.json
del Progetto di Riferimento{
"schemaVersion": 1,
"id": "fabric-docs-reference",
"version": "1.0.0",
"name": "Fabric docs reference",
"icon": "assets/fabric-docs-reference/icon.png",
"environment": "*",
"entrypoints": {
"main": [
"com.example.docs.FabricDocsReference",
"com.example.docs.event.FabricDocsReferenceEvents",
"com.example.docs.command.FabricDocsReferenceCommands",
"com.example.docs.effect.FabricDocsReferenceEffects",
"com.example.docs.potion.FabricDocsReferencePotions",
"com.example.docs.sound.FabricDocsReferenceSounds",
"com.example.docs.damage.FabricDocsReferenceDamageTypes",
"com.example.docs.item.FabricDocsReferenceItems",
"com.example.docs.block.FabricDocsReferenceBlocks",
"com.example.docs.component.FabricDocsReferenceComponents"
],
"client": [
"com.example.docs.FabricDocsReferenceClient",
"com.example.docs.client.command.FabricDocsReferenceClientCommands"
],
"fabric-datagen": [
"com.example.docs.FabricDocsReferenceDataGenerator",
"com.example.docs.damage.FabricDocsReferenceDamageTypesDataGenerator"
]
},
"mixins": [
"fabric-docs-reference.mixins.json",
{
"config": "fabric-docs-reference.client.mixins.json",
"environment": "client"
}
],
"depends": {}
}
Come detto in precedenza, il file fabric.mod.json
contiene un attributo entrypoints
- questo attributo è usato per specificare gli entrypoint che la tua mod fornisce.
Il generatore di mod modello crea sia un entrypoint main
che client
predefiniti:
main
è usato per codice comune, ed è contenuto in una classe che implementi ModInitializer
client
è usato per codice esclusivo del client, e la sua classe implementa ClientModInitializer
Questi entrypoint vengono chiamati rispettivamente quando il gioco viene avviato.
Ecco un esempio di un entrypoint main
molto semplice che logga un messaggio alla console quando si avvia il gioco:
public class FabricDocsReference implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final String MOD_ID = "fabric-docs-reference";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
}
}
src/main/resources
Nella cartella src/main/resources
si memorizzano le risorse che la tua mod usa, come texture, modelli, e suoni.
È anche la posizione di fabric.mod.json
e di qualsiasi file di configurazione mixin che la tua mod usa.
Le risorse sono memorizzate in una struttura che rispecchia la struttura dei pacchetti risorse - per esempio, una texture per un blocco verrebbe memorizzata in assets/modid/textures/block/block.png
.
src/client/resources
Nella cartella src/client/resources
si memorizzano risorse client specifiche, come texture, modelli, e suoni che sono solo usati dal lato client.
src/main/java
La cartella src/main/java
viene usata per memorizzare il codice sorgente Java per la tua mod - esiste sia su ambienti client sia server.
src/client/java
La cartella src/client/java
viene usata per memorizzare codice sorgente Java client specifico, come codice per il rendering o logica del lato client - come provider per il colore dei blocchi.