[JAVA] Hinweise zur MOD-Entwicklung mit Minecraft 14.4 Fabric API # 1

Ziel

Ausstellungsstück

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

Vorbereitung

Fork das Projekt von https://github.com/FabricMC/fabric-example-mod

Mod Grundlegende Informationseinstellung 1

Fabric Properties Bringen Sie die neuesten Versionsinformationen von https://fabricmc.net/use und kopieren Sie sie

Mod Properties

Dependencies Gut wie es ist

Abhängige Quellenvorbereitung

Führen Sie "gradlew genSources", "gradlew vs code" vom VS-Code-Terminal aus. Es benötigt viel Zeit.

Mod Grundlegende Informationseinstellung 2

Einstiegspunkt erstellen

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.

Artikel hinzufügen

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

Bestätigung

Klicken Sie auf die Fehlermarkierung links neben dem VS-Code und klicken Sie auf die Startschaltfläche über der Seitenleiste, um Minecraft zu starten

Initialisieren Sie in Ihrer eigenen Klasse

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.

Textur

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

Hinweise zur MOD-Entwicklung mit Minecraft 14.4 Fabric API # 1
Entwicklung von Flink mit der DataStream-API
[Rails 6] API-Entwicklung mit GraphQL (Query)
minecraft1.14.4 MOD-Entwicklungsmemorandum 1 [Originalrezept]
Zusammenfassung der Fehler beim Erstellen der Minecraft MOD-Entwicklungsumgebung
Entwicklung von DSL mit ANTLR 4.7.1