+0

Item Groups con Fabric en Minecraft



Vamos a ver cómo crear grupos de ítems que sean visibles desde el modo creativo.

¿Que es un grupo de items?

Un grupo de ítems en Minecraft es una pestaña dentro del modo creativo del juego donde se encontrarán un tipo de ítems clasificado. Ya que estamos modificando el juego, podemos añadir una modificación que añada nuestro propio grupo de ítems y así poner todos los ítems que creamos ahí.

Pestaña de grupo de items de Minecraft

Pestaña de grupo de items de Minecraft

¿Cómo crear un grupo de Items nuevo?

Primero de todo necesitaremos crear nuestro ItemGroup. Para hacer nuestro código más limpio crearemos una nueva clase ModItemGroups donde añadiremos este ItemGroup.

Haremos un poco lo mismo que con los ítems, crearemos un método privado estático el cual nos ayudará a registrar estos ItemGroups y luego registremos nada más uno por el momento. Ya que estamos también añadiremos el método estático público que nos dejará registrar nuestro ítem group.

private static ItemGroup registerItemGroup(String name, ItemGroup itemGroup) {  
    return Registry.register(Registries.ITEM_GROUP, new Identifier(CursoFabricMod.MODID, name), itemGroup);  
}
 
public static void registerItemGroups() {  
    CursoFabricMod.LOGGER.info("Registrando itemGroups...");  
}

Y ahora viene la parte más difícil, crear nuestro ItemGroup. Para ello usaremos la clase FabricItemGroup con el método builder(), el cual es un builder muy sencillo de usar. Aquí le tendremos que pasar cosas como el ítem que se usará de icono, el nombre que tendrá y los ítems que habrá dentro.

public static final ItemGroup URANIUM_ITEM_GROUP = registerItemGroup("uranium_group", FabricItemGroup.builder()  
        .icon(() -> new ItemStack(ModItems.URANIUM_ITEM))  
        .displayName(Text.translatable("itemGroup.cursofabric.uranium_group"))  
        .entries((context, entries) -> {  
            entries.add(ModItems.URANIUM_ITEM);  
        })  
        .build()  
);

Text.translatable sirve como un texto (o key) el cual será reemplazado por el que se encuentre en el archivo (del idioma que tiene el usuario) que esté dentro de la carpeta lang/ de nuestros assets.

Y ya tendríamos creado nuestro ItemGroup. Ahora solo haría falta añadir el nombre en nuestro archivo de traducciones y registrar los ItemGroups desde nuestro Initializer.

{  
  // ...
  "itemGroup.cursofabric.uranium_group": "Uranium"
}
@Override  
public void onInitialize() {  
    // ...
    
    ModItemGroups.registerItemGroups();  
}

Si ahora iniciamos el juego y nos ponemos en el modo creativo, veremos que se ha añadido una nueva pestaña y dentro estará nuestro ítem.

Pestaña de grupo de items de Minecraft de Uranio añadida por un mod de Fabric

Pestaña de grupo de items de Minecraft de Uranio añadida por un mod de Fabric