https://www.youtube.com/watch?v=SqMGHoBOeYY
Fork das Projekt von https://github.com/FabricMC/fabric-example-mod
Fabric Properties Bringen Sie die neuesten Versionsinformationen von https://fabricmc.net/use und kopieren Sie sie
Mod Properties
net.handle name.MOD name
ist angemessen (es ist wirklich angemessen, also überprüfen Sie später, ob es eine Gewohnheit gibtDependencies Gut wie es ist
Führen Sie "gradlew genSources", "gradlew vs code" vom VS-Code-Terminal aus. Es benötigt viel Zeit.
Erstellen Sie denselben Ordner und dieselbe Klasse wie der Einstiegspunkt unter "src / main / java". Wie src / main / java / net / handle name / mod name / Mod name.java
.
Schreiben Sie den folgenden Code in die Einstiegspunktklasse
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));
//Definition des Artikels selbst
@Override
public void onInitialize() {
Registry.register(Registry.ITEM, new Identifier("MOD_ID","Artikelname"), FABRIC_ITEM);
//Artikelregistrierung
}
}
Dadurch wird ein Element ohne Textur hinzugefügt
Klicken Sie auf die Fehlermarkierung links neben dem VS-Code und klicken Sie auf die Startschaltfläche über der Seitenleiste, um Minecraft zu starten
Erstellen Sie eine Klasse, die die Klasse "ITEM" im selben Ordner wie der Einstiegspunkt erbt
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);
//Der Konstruktor ruft die Superklasse so auf, wie sie ist
}
@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));
//Klicken Sie mit der rechten Maustaste, um das Geräusch von Wollbruch zu hören
}
}
Schreiben Sie dann die Einstiegspunktklasse wie folgt um
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));
//Ich habe es in meiner eigenen Klasse definiert
@Override
public void onInitialize() {
Registry.register(Registry.ITEM, new Identifier("MOD_ID","Artikelname"), FABRIC_ITEM);
//Artikelregistrierung
}
}
Klicken Sie mit der rechten Maustaste und Sie sollten einen Ton hören.
Erstellen Sie die folgende JSON-Datei unter "src \ main \ resources \ assets \ Mod_ID \ models \ item".
Artikelname.json
{
"parent" :"item/generated",
"textures" : {
"layer0" : "MOD_ID:item/Artikelname"
}
}
Wenn Sie ein transparentes 16 * 16-PNG-Bild in "src \ main \ resources \ assets \ testmod \ textures \ item" einfügen, sollte das Element dieses Bild sein.
Recommended Posts