🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.21
Questa pagina si applica alla versione:
1.21
Gli strumenti sono essenziali per la sopravvivenza e l'avanzamento, poiché permettono ai giocatori di raccogliere risorse, costruire edifici, e difendere sé stessi.
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.
Questa classe può anche essere usata per determinare le proprietà del materiale del tuo strumento, legate a quelle dei materiali di strumenti vanilla.
Puoi creare un materiale dello strumento creando una nuova classe che lo eredita - in questo esempio, creeremo strumenti di "Guidite":
public class GuiditeMaterial implements ToolMaterial {
// Your IDE should override the interface's methods for you, or at least shout at you to do so.
}
Quando avrai creato il materiale del tuo strumento e l'avrai modificato a piacere, puoi creare un'istanza di esso da usare nei costruttori degli oggetti.
public static final GuiditeMaterial INSTANCE = new GuiditeMaterial();
Il materiale dello strumento informa il gioco sulle seguenti proprietà:
getDurability()
Quante volte si può usare lo strumento prima che si rompa:
@Override
public int getDurability() {
return 455;
}
getMiningSpeedMultiplier()
Se lo strumento viene usato per rompere blocchi, quanto velocemente deve fare ciò?
@Override
public float getMiningSpeedMultiplier() {
return 5.0F;
}
Per darti un riferimento, il materiale diamante ha come velocità di rottura 8.0F
, mentre quello di pietra ha come velocità 4.0F
.
getAttackDamage()
Quanti punti di danno deve causare lo strumento quando lo si usa come arma contro un'altra entità?
@Override
public float getAttackDamage() {
return 1.5F;
}
getMiningLevel()
Il tag invertito mostra ciò che l'oggetto non può rompere. Per esempio, usare il tag BlockTags.INCORRECT_FOR_WOODEN_TOOL
non permette allo strumento di rompere certi blocchi:
{
"values": [
"#minecraft:needs_diamond_tool",
"#minecraft:needs_iron_tool",
"#minecraft:needs_stone_tool"
]
}
Questo significa che lo strumento non può rompere blocchi che richiedono strumenti di diamante, ferro o pietra.
Usiamo il tag degli strumenti di ferro. Questo non permetterà agli strumenti di Guidite di rompere blocchi che richiedono uno strumento più forte del ferro.
@Override
public TagKey<Block> getInverseTag() {
return BlockTags.INCORRECT_FOR_IRON_TOOL;
}
Puoi usare TagKey.of(...)
per creare una chiave di tag personalizzata se vuoi usare un tag personalizzato.
getEnchantability()
Quanto facile è ottenere livelli maggiori e migliori degli incantesimi con questo oggetto? Per riferimento, l'oro ha incantabilità 22, mentre la netherite ha incantabilità 15.
@Override
public int getEnchantability() {
return 22;
}
getRepairIngredient()
Quale oggetto o oggetti si usano per riparare lo strumento?
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(ModItems.SUSPICIOUS_SUBSTANCE, Items.POTATO);
}
Con la stessa funzione di utilità della guida Creare il Tuo Primo Oggetto, puoi creare gli oggetti dei tuoi strumenti:
public static final Item GUIDITE_SWORD = register(new SwordItem(GuiditeMaterial.INSTANCE, new Item.Settings()), "guidite_sword");
Ricorda di aggiungerli ad un gruppo di oggetti se vuoi accedere ad essi dall'inventario in creativa!
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS)
.register((itemGroup) -> itemGroup.add(ModItems.GUIDITE_SWORD));
Dovrai anche aggiungere una texture, una traduzione e un modello per l'oggetto. Tuttavia, per i modelli, dovrai usare il modello item/handheld
come genitore.
Per questo esempio, useremo il modello e la texture seguenti per l'oggetto "Spada di Guidite":
{
"parent": "item/handheld",
"textures": {
"layer0": "fabric-docs-reference:item/guidite_sword"
}
}
Questo è praticamente tutto! Se passi al gioco dovresti vedere gli oggetti dei tuoi strumenti nella scheda strumenti del menu inventario in creativa.