Résolu Problème blocks transparents
-
Bonjours/bonsoirs a tous me revoila à nouveau pour demander de l’aide ^^.
J’ai voulu créer un block de barreau pour une utilisation décorative sur mon serveur, celui ci est cependant bugué car il affiche les cavernes en dessous … j’ai également un problème similaire avec les escaliers qui ont des bugs de lumière
Bien entendu je ne suis pas venu ici sans faire de recherche et j’ai déjà fait en sorte de dire que mon block était incomplet au jeu … mais sans succés, voici donc ma classe d’escalier + ma classe de cage :
escalier :package fr.emergia.EmergiaMod.common; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; public class STD extends BlockStairs { protected STD(Block par1block, int metadata) { super(par1block, metadata); // TODO Auto-generated constructor stub } public boolean isOpacCube() { return false; } }
cage :
package fr.emergia.EmergiaMod.common; import net.minecraft.block.Block; import net.minecraft.block.material.Material; public class BBF extends Block { protected BBF(Material material) { super(material); // TODO Auto-generated constructor stub } public boolean isOpacCube() { return false; } public boolean renderAsNormalBlock() { return false; } }
Voici egalement un screeen a l’appuis :
Merci de votre aide a+ -
essaye d’ajouter ca:
@SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 0; }
-
C’est plutôt ça
@SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess iba, int x, int y, int z, int side) { return true; }
La méthode force le rendu des blocs sur toutes les faces
-
ça ne marche pas … Le block est considéré comme un block plein …
-
Personne d’autre ?
j’ai essayé toute les méthodes du verre mais rien n’y fait. -
public boolean renderAsNormalBlock() { return false; } public boolean isOpaqueCube() { return false; } public int getRenderBlockPass() { return 0; }
Normalement il y a juste besoin de ça.
-
Non ça ne marche toujours pas
package fr.emergia.EmergiaMod.common; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; public class BBF extends Block { private static final String __OBFID = "CL_00000249"; protected BBF(Material material) { super(material); // TODO Auto-generated constructor stub } public boolean isOpacCube() { return false; } public boolean renderAsNormalBlock() { return false; } @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 0; } }
Voici un screeen :
-
isOpacCube()
Connait pas.
Pour vérifier que la méthode est bien appelé par la classe mère, ont peut ajouter un @Override au dessus de la méthode, donc si elle est mal ore theau graphi et elle sera soulignée en rouge comme mon orthographe.
@Override public boolean isOpacCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } @Override @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 0; }
-
t’a juste mal écrit “isOpaqueCube” et ça sera être bon sinon “@Override”
-
Je me sens con, seriez vous où je pourrais trouver un vendeur de corde ?
En tout cas merci beaucoup ^^ -
un magasin de bricolage devrait suffir pour faire ce que tu veux faire
-
Par contre malgrès le changement, rien ne change pour mes escaliers qui sont toujours ultra bugués ^^
preuve ci contre :
code :package fr.emergia.EmergiaMod.common; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; import net.minecraft.world.IBlockAccess; public class STD extends BlockStairs { protected STD(Block par1block, int metadata) { super(par1block, metadata); // TODO Auto-generated constructor stub } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return 10; } }
petit edit : sur le opaque cube que j’ai remis en false ce qui enlève le bug de transparence mais laisse le bug de lumière.
-
Pour les escaliers tu es juste sensé mettre l’extends, rien d’autre.