https://www.youtube.com/watch?v=SqMGHoBOeYY
Fork le projet depuis https://github.com/FabricMC/fabric-example-mod
Fabric Properties Apportez les dernières informations de version de https://fabricmc.net/use et copiez-les
Mod Properties
net. dans maven_group. net.handle name.MOD name est approprié (c'est vraiment approprié, alors vérifiez plus tard s'il y a une habitudeDependencies Bon comme ça
Exécutez gradlew genSources, gradlew vs code depuis le terminal de code VS. Ça prend beaucoup de temps.
au début desrc / main / resources / fablic.mod.json`. Ci-après, cela s'appelle "MOD_ID".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.
É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
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
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.
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