[JAVA] Notes de développement MOD à l'aide de l'API Minecraft 14.4 Fabric # 1

Cible

Exposition

https://www.youtube.com/watch?v=SqMGHoBOeYY

Préparation

Fork le projet depuis https://github.com/FabricMC/fabric-example-mod

Paramètre des informations de base du Mod 1

Fabric Properties Apportez les dernières informations de version de https://fabricmc.net/use et copiez-les

Mod Properties

Dependencies Bon comme ça

Préparation de la source dépendante

Exécutez gradlew genSources, gradlew vs code depuis le terminal de code VS. Ça prend beaucoup de temps.

Paramètre des informations de base du Mod 2

Créer un point d'entrée

Créez le même dossier et la même classe que le point d'entrée sous src / main / java. Comme src / main / java / net / nom du handle / nom du mod / nom du mod.java.

Ajouter un item

Écrivez le code suivant dans la classe de point d'entrée

ExampleMod.java


package net.realanalysis.testmod;

import net.fabricmc.api.ModInitializer;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class ExampleMod implements ModInitializer{

    public static final Item FABRIC_ITEM = new Item(new Item.Settings().group(ItemGroup.MISC));
    //Définition de l'article lui-même

    @Override
    public void onInitialize() {
        Registry.register(Registry.ITEM, new Identifier("MOD_ID","Nom de l'article"), FABRIC_ITEM);
        //Enregistrement d'article
    }

}

Cela ajoutera un élément sans texture

Vérification

Cliquez sur la marque de bogue à gauche du code VS et cliquez sur le bouton Démarrer au-dessus de la barre latérale pour lancer Minecraft

Initialisez dans votre propre classe

Créez une classe qui hérite de la classe ʻITEM` dans le même dossier que le point d'entrée

TestItem.java


package net.realanalysis.testmod;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;

public class TestItem extends Item{

	public TestItem(Settings item$Settings_1) {
		super(item$Settings_1);
                //Le constructeur appelle la super classe telle quelle
	}
    
    @Override
    public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand){

        playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, 1.0F, 1.0F);
        return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand));
        //Faites un clic droit pour faire le bruit de la laine cassée
    }

}

Puis réécrivez la classe de point d'entrée comme suit

ExampleMod.java


package net.realanalysis.testmod;

import net.fabricmc.api.ModInitializer;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class ExampleMod implements ModInitializer{

    public static final Item FABRIC_ITEM = new TestItem(new Item.Settings().group(ItemGroup.MISC));
    //J'en ai fait une définition dans ma propre classe

    @Override
    public void onInitialize() {
        Registry.register(Registry.ITEM, new Identifier("MOD_ID","Nom de l'article"), FABRIC_ITEM);
        //Enregistrement d'article
    }

}

Faites un clic droit et vous devriez entendre un son.

texture

Créez le fichier JSON suivant dans src \ main \ resources \ assets \ Mod_ID \ models \ item.

Nom de l'article.json


{
    "parent" :"item/generated",
    "textures" : {
        "layer0" : "MOD_ID:item/Nom de l'article"
    }
}

Si vous mettez une image PNG transparente 16 * 16 dans src \ main \ resources \ assets \ testmod \ textures \ item, l'élément doit être cette image.

Recommended Posts

Notes de développement MOD à l'aide de l'API Minecraft 14.4 Fabric # 1
Développement de Flink à l'aide de l'API DataStream
[Rails 6] Développement d'API à l'aide de GraphQL (Query)
Minecraft1.14.4 Mémorandum de développement MOD 1 [Recette originale]
Résumé des erreurs lors de la création de l'environnement de développement Minecraft MOD
Développement de DSL avec ANTLR 4.7.1