Blocs Personnalisés
Explications
Pour faire le bloc nous allons utiliser un spawner qui contiendra un armor stand. Ce porte armure aura sur sa tête votre bloc custom sous forme d'item. Le model de l'item devra avoir une taille supérieur ou égale à la taille du model du spawner.
⚠️ À noter que quelque soit la taille de votre model, la hitbox du bloc sera toujours celle du spawner !
Création du texture pack:
Pour faire cette page je me suis aidé de l'article d'Hardel sur les blocs personnalisés
Créez un dossier et mettez y dedans 3 fichiers:
- Une image qui va être l'icône de votre pack de texture. Ce fichier devra s'appeler
pack.png. - Un dossier
assetsqui contiendra toutes les textures et models de vos blocs personnalisés. Dans ce dossier créez un sous-dossierminecraftet un autre sous-dossier ayant le nom de votre plugin. - Un fichier
pack.mcmetaqui contiendra les informations à propos de votre texture pack comme la description ou le format.
Dans le fichier pack.mcmeta mettez ceci:
{
"pack": {
"pack_format": 7,
"description": "Un texture pack pour les blocks custom"
}
}
Création du CustomModelData
Pour ceux qui ne savent pas ce qu'est un custom model data je vous redirige vers l'article d'Hardel et la vidéo de Silvator.
Dans votre dossier minecraft créez y un répertoire models et dans ce dossier faites un sous-dossier nommé item.
À l'intérieur de ce dossier créez un ficher lime_glazed_terracotta.json et mettez ce code :
{
"parent": "block/lime_glazed_terracotta",
"overrides": [
{"predicate": {"custom_model_data": 1}, "model": "nomDeVotrePlugin:ores/ruby_ore"},
]
}
nomDeVotrePlugin par le nom de votre plugin.
Création du model 3D
Dans le dossier de votre plugin créez deux dossiers, textures et models.
- Le dossier
texturescontiendra les textures de vos blocs. - Le dossier
modelscontiendra des fichiers qui s'occuperont du model 3D de l'item.
Création du bloc dans le code
Dans votre projet gradle créez un arborescence de fichiers comme celle-ci :

Dans le dossier java créez un vos packages et votre classe main. Dans mon cas je vais appeler mes packages fr.minemobs.customblocktuto et ma classe Main CustomBlockTuto.
Dans le dossier resources créez un ficher plugin.yml.
Dans ce fichier ajoutez les lignes suivantes:
name: CustomBlockTuto
main: fr.votre.package.VotreClasseMain
version: 1.0
description: Un tutoriel pour ajouter des blocs personalisés dans Minecraft avec Spigot
api-version: 1.17
author: VotrePseudo
CustomBlockTuto par le nom de votre plugin, fr.votrepackage.VotreClasseMain par votre classe Main, VotrePseudo par votre pseudo. Et changez la description.