Block ISBRH - Problème de luminosité + questions supplémentaires
-
Notre projet est de refaire le château de Versailles avec tout les bâtiments qui le compose ainsi que tout les jardins. Nous avons donc énormément de travail a faire et je te laisse imaginé la taille que ça va faire. Si tu veux un aperçu, tu peux aller sur la dynmap aux coordonnées -500 et -1050. Le rdc du château est en cours de construction. Donc malheureusement pour moi, il y aura une quantité astronomique de blocs sachant que nous allons aussi faire tout l’intérieure du château pièces par pièces. C’est pour cela que je préfère rester sur du Isbrh.
Parmi ceux qui m’ont répondu, vous ne savez donc pas comment on corrige le problème du bloc sombre ? Si quelqu’un d’autre le sait, hésitez pas à répondre

Q1 : est-ce bien ce code qu’il faut utiliser ?:::
public void onBlockAdded(World p_149726_1_, int p_149726_2_, int p_149726_3_, int p_149726_4_) { this.onNeighborBlockChange(p_149726_1_, p_149726_2_, p_149726_3_, p_149726_4_, Blocks.air); this.field_150149_b.onBlockAdded(p_149726_1_, p_149726_2_, p_149726_3_, p_149726_4_); }:::
Q2 : est-ce bien ce code qu’il faut utiliser ?:::
public void func_150147_e(IBlockAccess p_150147_1_, int p_150147_2_, int p_150147_3_, int p_150147_4_) { int l = p_150147_1_.getBlockMetadata(p_150147_2_, p_150147_3_, p_150147_4_); if ((l & 4) != 0) { this.setBlockBounds(0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F); } else { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } }:::
-
Q1) “field_150149_b” correspond à quoi ?
Q2) Je peux pas être sur (comme elle a un nom en func_……). Mais par contre il va falloir que tu la changes (tu set les BlocksBounds des dalles). -
Q1 : Je sais pas, j’ai simplement récupéré le code, j’ai rien modifié.
Q2 : Pareil que la Q1, j’ai juste récupéré le code.
-
Q1) Si tu as copié le code et si tu le colles dans ton block, tu as forcément ce field, sinon t’aurais une erreur.
Q2) Tu l’as pris où ? Dans la slab ? -
Q1 : Non car j’ai mis des // devant chaque lignes pour pas avoir d’erreurs pour le moment. Comme ça vient du code minecraft, je ne sais pas a quoi ça correspond. D’ailleurs, les p_149726_1_ ect correspondent a quoi la ? Les metadata ?
PS : ce code est pris dans la class des escaliers (BlockStairs, ligne 483).
Q2 : J’ai pris dans ce code dans la class des escaliers aussi (BlockStairs, ligne 85)
-
public void onBlockAdded(World world, int x, int y, int z)
public void func_150147_e(IBlockAccess world, int x, int y, int z)
-
Merci Scarex. A quoi correspond la fonction “func_150147_e” stp ?
-
On peut pas savoir (je pense que ça doit-être onNeightborBlockChange()), essaye de mettre à jour tes mappings (ce qui convertit ces trucs incomprehenssibles en trucs lisibles), regarde le tuto pour installer les sources, c’est expliqué.
Pour savoir à quoi correspond le “this.field……”, retournes où tu l’as trouvé et fais ctrl + clic dessus. -
Ok merci je verrais ça plus tard du coup. Sinon, personnes ne sait pour mon problème principal ? [size=smallJ’ai mis le code ci-dessous dans la class du bloc et j’ai aussi essayer après dans la class du rendu du bloc mais cela ne change rien.]
@SideOnly(Side.CLIENT) public float getAmbientOcclusionLightValue() { return 1.0F; } -
Essaye de changer la valeur, voir ce que ça fait
-
Déjà fait aussi.
Ça rend le bloc plus lumineux mais le problème est toujours la. De plus, les 3 autres côté sont encore plus lumineux qu’avant (et ça rend super moche car on vois très très mal les rendu).
-
J’ai pas le code en face de moi, mais dans le code des dalles (et/ou escaliers), dans leur constructeur, il me semble qui y a un this.setje sais plus quoi en rapport avec ça, je te dis ça ce soir si ta pas trouvé
-
Il y a bien “this.setLightOpacity(255);” mais je viens de testé et ça fait rien.
-
Essaye “this.useNeighborBrightness = true” (j’ai ça dans ma slab) et si ça marche pas, avec la light opacity à 0 (ce que j’ai sur mes escaliers).
-
Ni l’un ni l’autre ne fonctionnent.
-
Bon ben je vois pas alors
désolé, peut-être que quelqu’un d’autre trouveraEdit : Essaye de voir du côté des BlocksLayer avec cette fonction :
@SideOnly(Side.CLIENT) public EnumWorldBlockLayer getBlockLayer() { return EnumWorldBlockLayer.SOLID; }Je te laisse voir, en exemple, le verre c’est CUTOUT, après je sais pas si ça peut résoudre le problème (cette fonction n’est pas changée par les blocks tels que les escaliers).
Et précision, le [font=Ubuntu, sans-serif“this.useNeighborBrightness = true” est bien là pour les escaliers et slabs.]
-
Ou peut-être
this.setLightOpacity(255);
dans le constructeur du bloc comme c’est le cas dans BlockStairs ? -
Malheureusement rien ne fonctionne.
Par contre j’ai fini mes 4 blocs d’escaliers et la partie supérieure à la moitié à un rendu normal. La partie inférieure à le rendu sombre. Voici un screen pour mieux comprendre : :::

:::