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 de
src / 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