🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
This page is written for:
1.21
This page is written for:
1.21
Werkzeuge sind für das Überleben und das Vorankommen unerlässlich, denn sie ermöglichen es den Spielern, Ressourcen zu sammeln, Gebäude zu bauen und sich zu verteidigen.
INFO
If you're creating multiple tool materials, consider using an Enum
to store them. Vanilla does this in the ToolMaterials
class, which stores all the tool materials that are used in the game.
Diese Klasse kann auch verwendet werden, um die Eigenschaften deines Werkzeugmaterials im Verhältnis zu Vanilla-Werkzeugmaterialien zu bestimmen.
Du kannst ein Werkzeugmaterial erstellen, indem du eine neue Klasse erstellst, die es erbt - in diesem Beispiel werde ich "Guidite"-Werkzeuge erstellen:
public class GuiditeMaterial implements ToolMaterial {
// Your IDE should override the interface's methods for you, or at least shout at you to do so.
}
Das Werkzeugmaterial gibt dem Spiel die folgenden Informationen:
getDurability()
Wie oft das Werkzeug verwendet werden kann, bevor es bricht.
Beispiel
@Override
public int getDurability() {
return 455;
}
getMiningSpeedMultiplier()
Wenn das Werkzeug zum Brechen von Blöcken verwendet wird, wie schnell sollte es die Blöcke brechen?
Zu Referenzzwecken hat das Diamantwerkzeugmaterial eine Abbaugeschwindigkeit von 8.0F
, während das Steinwerkzeugmaterial eine Abbaugeschwindigkeit von 4.0F
hat.
Beispiel
@Override
public float getMiningSpeedMultiplier() {
return 5.0F;
}
getAttackDamage()
Wie viele Schadenspunkte sollte das Werkzeug verursachen, wenn es als Waffe gegen eine andere Entität eingesetzt wird?
Beispiel
@Override
public float getAttackDamage() {
return 1.5F;
}
getMiningLevel()
Das inverse Tag zeigt an, was das Werkzeug nicht abbauen kann. Die Verwendung des Tags BlockTags.INCORRECT_FOR_WOODEN_TOOL
verhindert beispielsweise, dass das Werkzeug bestimmte Blöcke abbaut:
{
"values": [
"#minecraft:needs_diamond_tool",
"#minecraft:needs_iron_tool",
"#minecraft:needs_stone_tool"
]
}
Das bedeutet, dass das Werkzeug keine Blöcke abbauen kann, die ein Diamant-, Eisen- oder Steinwerkzeug benötigen.
Beispiel
Wir werden das Eisenwerkzeug-Tag verwenden. Dies verhindert, dass Guidite-Werkzeuge Blöcke abbauen, die ein stärkeres Werkzeug als Eisen erfordern.
@Override
public TagKey<Block> getInverseTag() {
return BlockTags.INCORRECT_FOR_IRON_TOOL;
}
Du kannst TagKey.of(...)
verwenden, um einen benutzerdefinierten Tag-Schlüssel zu erstellen, wenn du einen benutzerdefiniertes Tag verwenden willst.
getEnchantability()
Wie einfach ist es, mit diesem Gegenstand bessere und höherstufige Verzauberungen zu erhalten? Zum Vergleich: Gold hat eine Verzauberungsfähigkeit von 22, während Netherit eine Verzauberungsfähigkeit von 15 hat.
Beispiel
@Override
public int getEnchantability() {
return 22;
}
getRepairIngredient()
Welche Items werden zur Reparatur des Werkzeugs verwendet?
Beispiel
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(ModItems.SUSPICIOUS_SUBSTANCE, Items.POTATO);
}
Sobald du dein Werkzeugmaterial erstellt und nach deinen Wünschen angepasst hast, kannst du eine Instanz davon erstellen, die in den Konstruktoren der Werkzeugitems verwendet werden kann.
public static final GuiditeMaterial INSTANCE = new GuiditeMaterial();
Mit der gleichen Hilfsfunktion wie in der Anleitung Erstelle dein ersten Item kannst du deine Werkzeugitems erstellen:
public static final Item GUIDITE_SWORD = register(new SwordItem(GuiditeMaterial.INSTANCE, new Item.Settings()), "guidite_sword");
Vergiss nicht, sie zu einer Itemgruppe hinzuzufügen, wenn du vom Kreativ-Inventar aus auf sie zugreifen willst!
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS)
.register((itemGroup) -> itemGroup.add(ModItems.GUIDITE_SWORD));
Du musst auch eine Textur, eine Itemübersetzung und ein Itemmodell hinzufügen. Für das Itemmodell solltest du jedoch das Modell item/handheld
als übergeordnetes Modell verwenden.
In diesem Beispiel verwende ich das folgende Modell und die folgende Textur für den Gegenstand "Guidite Sword":
{
"parent": "item/handheld",
"textures": {
"layer0": "fabric-docs-reference:item/guidite_sword"
}
}
Das war's dann auch schon! Im Spiel solltest du deine Werkzeuge auf der Registerkarte Werkzeuge im Kreativ Inventar sehen.