+0

Crear armaduras en Minecraft



Vamos a ver cómo crear armaduras dentro de nuestro mod de Fabric.

¿Cómo crear una armadura?

Necesitaremos crear un ArmorMaterial que contendrá los detalles de nuestra armadura, luego los ítems y con ello todos los moderos y texturas.

Creando el ArmorMaterial

Pero antes de todo vamos a crear una clase llamada ModArmorMaterials, donde crearemos nuestro ArmorMaterial.

Antes de todo necesitaremos hacer lo de siempre, crear un método privado que nos ayudará a registrar cosas en el registry y un método público para poder cargar la clase y registrar estos ítems.

public class ModArmorMaterials {  
 
    private static RegistryEntry<ArmorMaterial> registerArmorMaterial(String id, ArmorMaterial armorMaterial) {  
        return Registry.registerReference(Registries.ARMOR_MATERIAL, new Identifier(CursoFabric.MODID, id), armorMaterial);  
    }  
      
    public static void registerArmorMaterials() {  
        CursoFabric.LOGGER.info("Registrando Armor Materials...");  
    }  
  
}
ModArmorMaterials.registerArmorMaterials();

Fijaros que necesitamos devolver el registry entry, no el objeto en sí.

Ahora podemos crear una variable en la cual crear nuestro árbol material y registrarlo.

public static final RegistryEntry<ArmorMaterial> URANIUM_ARMOR_MATERIAL = registerArmorMaterial(  
        "uranium",  
        new ArmorMaterial(  
            Map.of(  
                    ArmorItem.Type.HELMET, 2,  
                    ArmorItem.Type.CHESTPLATE, 5,  
                    ArmorItem.Type.LEGGINGS, 6,  
                    ArmorItem.Type.BOOTS, 2,  
                    ArmorItem.Type.BODY, 5  
            ),  
            9,  
            SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE,  
            () -> Ingredient.ofItems(ModItems.URANIUM),  
            List.of(new ArmorMaterial.Layer(new Identifier(CursoFabric.MODID, "uranium"))),  
            0f,  
            0f  
        )  
);

Todos los parámetros de la armadura son modificables desde esta instancia de ArmorMaterial. Si queréis ver los parámetros de otras armaduras, podéis acceder a la clase ArmorMaterials y ver cómo se registran ahí.

Creando items de Armadura

Ahora, habrá que registrar los nuevos ítems de armadura en nuestra clase ModItems. es un proceso similar a los ítems de herramientas.

public static final Item URANIUM_HELMET = registerItem("uranium_helmet", new ArmorItem(ModArmorMaterials.URANIUM_ARMOR_MATERIAL, ArmorItem.Type.HELMET, new Item.Settings()));  
public static final Item URANIUM_CHESTPLATE = registerItem("uranium_chestplate", new ArmorItem(ModArmorMaterials.URANIUM_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE, new Item.Settings()));  
public static final Item URANIUM_LEGGINGS = registerItem("uranium_leggings", new ArmorItem(ModArmorMaterials.URANIUM_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Settings()));  
public static final Item URANIUM_BOOTS = registerItem("uranium_boots", new ArmorItem(ModArmorMaterials.URANIUM_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Settings()));

También estaría bien añadirlos al Item Group.

Añadiendo texturas

Ahora tengo que añadir las texturas. Para ello necesitaremos texturas para cada ítem y las texturas de la armadura para el renderizado en 3D.

Aquí tienes un link a las texturas que usaré durante este curso.

Primero de todo, las texturas para el modelo del renderizado 3D van dentro de textures/models/armor, y los ítems dentro de textures/items.

Añadiendo traducciones

Ahora toca añadir las traducciones. Estas las añadiremos a nuestro archivo de lenguaje.

{
  // ...
  
  "item.cursofabric.uranium_helmet": "Uranium Helmet",  
  "item.cursofabric.uranium_chestplate": "Uranium Chestplate",  
  "item.cursofabric.uranium_leggings": "Uranium Leggings",  
  "item.cursofabric.uranium_boots": "Uranium Boots"
}

Haciendo las armaduras trimmable

En las últimas versiones se han añadido las Trimmable Armors, que son armaduras que pueden ser personalizadas con diferentes texturas por encima. Para hacer compatibles nuestras armaduras con esta nueva cosa necesitaremos añadirles un tag. Gracias a nuestro Fabric Datagen podemos añadir este tag fácilmente.

getOrCreateTagBuilder(ItemTags.TRIMMABLE_ARMOR)  
        .add(ModItems.URANIUM_HELMET)  
        .add(ModItems.URANIUM_CHESTPLATE)  
        .add(ModItems.URANIUM_LEGGINGS)  
        .add(ModItems.URANIUM_BOOTS);

Añadiendo el modelo

Por último, nos quedará añadir el modelo del item. Esto también lo podemos hacer a través de nuestro provider.

itemModelGenerator.registerArmor((ArmorItem) ModItems.URANIUM_HELMET);  
itemModelGenerator.registerArmor((ArmorItem) ModItems.URANIUM_CHESTPLATE);  
itemModelGenerator.registerArmor((ArmorItem) ModItems.URANIUM_LEGGINGS);  
itemModelGenerator.registerArmor((ArmorItem) ModItems.URANIUM_BOOTS);

Con todo esto listo, ya tendríamos nuestra armadura creada y dentro del juego.

Armadura de uranio en Minecraft con Fabric

Armadura de uranio en Minecraft con Fabric