Résolu Besoin d'aide pour les slab / dalle
-
Hello,
Je suis un modder débutant sans notions et je commence à peine à comprendre les différentes structures du modding. J’ai pu jusqu’à maintenant coder des blocs de différents types, des minerais, des stairs, des items et des outils sans trop de difficulté mais alors là je bloque sur un truc assez hard : les slabs / dalles.Je ne comprends pas le code en fait, il est rempli de méthodes aux fonctions non-traduites, et à chaque fois que je test un truc j’ai des erreurs par-ci par-là dans la class de mon slab ou dans le mod directement que je n’arrive pas à corriger.
Est-ce que quelqu’un aurait un exemple propre de l’initialisation d’un slab et de sa class à me présenter pour que je puisse m’y référer ?Merci d’avance.
-
Ici il y a le tutoriel 1.6.4 : http://www.minecraftforgefrance.fr/showthread.php?tid=156
Et sur le github il y a les sources en 1.7.2 : https://github.com/FFMT/ModTutoriel/tree/master/tutoriel/common -
Okay merci je vois, mais je bloque sur l’initialisation du bloc dans le fichier principal du mod.
La déclaration et l’initialisation des blocks slab semble totalement différente des blocks normaux.
Tu aurais un exemple ? -
Non, c’est pas très différent :
https://github.com/FFMT/ModTutoriel/blob/master/tutoriel/common/ModTutoriel.java#L65-L66 -
J’ai refais le model à la lettre, les textures selon les metadata sont bien respectés, et pourtant mes slabs sont des blocs entier.
-
Envoie tes codes.
-
BlocklightOldPlanks.java :
http://pastebin.com/Wr6MM4uXItemBlocklightOldPlanks.java :
http://pastebin.com/QZqSHVsGDans le mod principal (wwrp.Common.Modwwrp) :
Déclaration :
public static Block singleSlaboldPlanks; public static Block doubleSlaboldPlanks;
*Initialisation : *
singleSlaboldPlanks = new BlocklightOldPlanksSlab(true, Material.wood).setHardness(2.0F).setStepSound(Block.soundTypeWood).setBlockName("singleSlaboldPlanks"); doubleSlaboldPlanks = new BlocklightOldPlanksSlab(true, Material.wood).setHardness(2.0F).setStepSound(Block.soundTypeWood).setBlockName("doubleSlaboldPlanks"); GameRegistry.registerBlock(doubleSlaboldPlanks, wwrp.Items.ItemBlocklightOldPlanksSlab.class, "doubleSlaboldPlanks"); GameRegistry.registerBlock(singleSlaboldPlanks, wwrp.Items.ItemBlocklightOldPlanksSlab.class, "singleSlaboldPlanks");
Je pense avoir tout mit.
En réalité il apparait directement sous la forme “Double Slab” dans mon inventaire, et quand on le casse à la hache, il drop deux dalles en bois de chêne (???). Un peu chelou. -
Pas trouvé ?
-
Classe principale, tu dois avoir false dans le constructeur de la dalle simple :
singleSlaboldPlanks = new BlocklightOldPlanksSlab(false, Material.wood).setHardness(2.0F).setStepSound(Block.soundTypeWood).setBlockName(?"singleSlaboldPlanks");
@‘Noxon’:
Pas trouvé ?
Les up ne sont que autorisé tout les 24h, il ne faut pas s’impatienter, je ne passe pas ma vie sur le forum, je n’étais pas la de la soiré.
-
Tu me sauves !
Les doubles ne sont pas prit en compte (on entend le bruit, la dalle est consommé, mais le render et le drop reste la même qu’une seule dalle), mais malgré tout le slab single fonctionne, mille merci.
Sincèrement désolé pour le up, j’ai du le faire sans m’en rendre compte au moment où tu répondais aux autres, je pensais que mon sujet était en train de couler.EDIT : En fait non, j’avais mis “false” aux deux. Après réflexion j’ai compris mon erreur. Encore merci, problème résolu dans son intégralité.