• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Non résolu [BUG] Escaliers de verre font du xRay

    Sans suite
    1.12.2
    5
    30
    1214
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Flow Arg
      Flow Arg Moddeurs confirmés dernière édition par

      Bonjour à tous et à toute,
      j’ai comme qui dirait un soucis assez contraignant, je m’explique :
      J’ai créer des escaliers, tout ce qui a de plus banal, mais les escaliers en verre sont, légèrement buggé, contrairement aux autres, il y a un bug qui permet de voir à travers
      (comme un cave block, voir screen, on ne voit que du bleu, mais on peut voir les grottes, etc).
      Capture d’écran (69).png
      Je ne vois pas ce qui pourrait causer le soucis, je suis donc allé voire la Classe BlockGlass de minecraft et j’ai rajouté à ma classe qui gere mes escaliers de verre :

      public class BlockStairGlassBase extends BlockStairBase
          {
              public BlockStairGlassBase(String name)
              {
                  super(name, Blocks.GLASS.getDefaultState());
                  setSoundType(SoundType.GLASS);
                  setLightOpacity(0);
              }
          
              @Override
              @SideOnly(Side.CLIENT)
              public BlockRenderLayer getBlockLayer()
              {
                  return BlockRenderLayer.CUTOUT;
              }
          
              @Override
              public boolean isFullCube(IBlockState state)
              {
                  return false;
              }
          }
      

      BlockStairBase :

      public class BlockStairBase extends BlockStairs implements IHasModel
      {
          public BlockStairBase(String name, IBlockState modelState) {
      
              super(modelState);
              setRegistryName(name);
              setUnlocalizedName(name);
              setCreativeTab(Main.vanillaStairs);
              setBlockUnbreakable();
              setLightOpacity(1);
      
              BlockInit.BLOCK.add(this);
              ItemInit.ITEM.add(new ItemBlock(this).setRegistryName(getRegistryName()));
          }
      
          @Override
          public void registerModels()
          {
              Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0);
          }
          
      }
      

      Voilà tout 🙂

      Amicalement,
      Flow

      Mon GitHub
      Mon repo Maven
      Mon Updater
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • blixow14
        blixow14 dernière édition par

        Je crois que tu as oublié de mettre ces fontion :

        @Override
        public boolean isOpaqueCube(IBlockState state) {
            return false;
        }
        
        @Override
        public boolean isFullCube(IBlockState state) {
            return false;
        }
        

        J'aime les pâtes

        Flow Arg 1 réponse Dernière réponse Répondre Citer 0
        • Flow Arg
          Flow Arg Moddeurs confirmés dernière édition par

          Salut,
          la méthode isFullCube je l’avais mise, mais pas isOpaqueCube
          je vais voir tout ca.

          Merci !

          Mon GitHub
          Mon repo Maven
          Mon Updater
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • Flow Arg
            Flow Arg Moddeurs confirmés @blixow14 dernière édition par

            @blixow14 C’est un échec, même soucis 😕 .

            Mon GitHub
            Mon repo Maven
            Mon Updater
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • blixow14
              blixow14 dernière édition par

              Met ces fonctions dans la classe BlockStairBase pour voir

              J'aime les pâtes

              Flow Arg 1 réponse Dernière réponse Répondre Citer 0
              • Flow Arg
                Flow Arg Moddeurs confirmés @blixow14 dernière édition par

                @blixow14 C’est un échec, même soucis 😕 .

                Mon GitHub
                Mon repo Maven
                Mon Updater
                Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

                1 réponse Dernière réponse Répondre Citer 0
                • blixow14
                  blixow14 dernière édition par

                  Alors là je comprends pas car j’ai bien vérifié dans les classes des block et c’est bien ça qui est mit. Et pour moi ça marche 😕 . Le problème vient peut-être d’ailleurs

                  J'aime les pâtes

                  Flow Arg 1 réponse Dernière réponse Répondre Citer 0
                  • Flow Arg
                    Flow Arg Moddeurs confirmés @blixow14 dernière édition par

                    @blixow14 Peut etre que ca vient du registering ?
                    Voici une ligne qui register un de mes escaliers :

                    public static final Block GLASS_STAIRS = new BlockStairGlassBase("glass_stairs");
                    

                    Je ne pense pas que ca ait de rapport mais la, je seche.

                    Mon GitHub
                    Mon repo Maven
                    Mon Updater
                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

                    1 réponse Dernière réponse Répondre Citer 0
                    • blixow14
                      blixow14 dernière édition par blixow14

                      non ce n’est pas ça. Peut-être quelqu’un d’autre aura une idée.

                      J'aime les pâtes

                      1 réponse Dernière réponse Répondre Citer 0
                      • Flow Arg
                        Flow Arg Moddeurs confirmés dernière édition par

                        Je l’espère…

                        Mon GitHub
                        Mon repo Maven
                        Mon Updater
                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

                        1 réponse Dernière réponse Répondre Citer 0
                        • B
                          Blackbalrog dernière édition par Blackbalrog

                          public boolean isOpaqueCube() {
                          return false;
                          }

                          public boolean isFullCube() {
                          return false;
                          }

                          Et comme ça ?
                          si on retire les Override et se qui était entre parenthèse.
                          Perso j’ai pas besoin d’Override ni de rajouter quoi que se soit.

                          isador 1 réponse Dernière réponse Répondre Citer 0
                          • isador
                            isador Moddeurs confirmés Modérateurs @Blackbalrog dernière édition par

                            @Blackbalrog a dit dans [BUG] Escaliers de verre font du xRay :

                            public boolean isOpaqueCube() {
                            return false;
                            }

                            public boolean isFullCube() {
                            return false;
                            }

                            Et comme ça ?
                            si on retire les Override et se qui était entre parenthèse.
                            Perso j’ai pas besoin d’Override ni de rajouter quoi que se soit.

                            Les @Override permettent de s’assurer que la fonction que tu utilises est bien déclarée dans la classe mère, donc c’est très important de toujours l’utiliser pour ce genre de fonction

                            1 réponse Dernière réponse Répondre Citer 1
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                              Sérieusement, arrêter de mettre / retirer du code sans savoir ce qu’il fait et aller apprendre les bases de Java.

                              Là ça devient juste désespérant de lire la section support …

                              1 réponse Dernière réponse Répondre Citer 0
                              • blixow14
                                blixow14 dernière édition par blixow14

                                Je devais me sentir visait ? Car j’avais eu un problème similaire et justement on m’avait dit de mettre ces 2 méthodes (isOpaqueCube, isFullCube ) et mon problème avait été réglé. Après je crois que ces classes sont mal foutu, il y a une couille dans le pâté je crois bien.

                                J'aime les pâtes

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par robin4002

                                  Non, c’est le message de Blackbalrog indiquant de retirer le @Override qui m’a fait écrire ça.

                                  Parce qu’effectivement ces méthodes sont nécessaires.
                                  Je crois que ce qu’il manque c’est la méthode shoudRenderSide ou quelque chose du genre.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • B
                                    Blackbalrog dernière édition par Blackbalrog

                                    Au pire tiens car c’est vrai que t’as class tout en haut es bizard

                                    je te fais un mini tuto
                                    déjà tu créé un package que tu appel comme tu veux c’est dedans qu’on va plus ou moins tous mettre (Les Class)

                                    Ensuite dans se package tu va créé une Class BlockMod ensuite tu créé un Objet.

                                    Donc:

                                    public static Block stair;
                                    

                                    ensuite dessous tu créé une méthode donc:

                                    public static void init()
                                    {
                                    }
                                    

                                    et une 2ème méthode:

                                    public static void registerBlock()
                                    {
                                    }
                                    

                                    ensuite dans init tu cales les paramètre de ton Objet:

                                    stair = new Stairs(BlockMod.block_stair, 0).setBlockName("stair").setCreativeTab(CreativeTabs.tabblock).setHardness(5.0F);
                                    

                                    ensuite tu passe t’as souris sur Stairs et tu créé une nouvelle Class qui doit se trouver dans le package que tu as créé
                                    ensuite tu fais un exporte de BlockStairs ensuite tu passe souris sur Stairs et tu fais add constructor …

                                    ensuite dans registerBlock tu cales:

                                    GameRegistry.registerBlock(stair, stair.getUnlocalizedName().substring(5));
                                    

                                    ensuite tu vas dans ta Class principal et tu vas dans PreInit et dedans tu marque:

                                    BlockMod.init;
                                    BlockMod.registerBlock
                                    

                                    Et ensuite dans la Class Stairs
                                    dessous le constructor tu créé cette méthodes

                                    public boolean isOpaqueCube()
                                    {
                                    return false;
                                    }
                                    

                                    Avant qu’on me dise que ça marche pas je précise que se code viens de la 1 7 10 donc je ne sais pas si sa peux marcher en 1.12.2

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • blixow14
                                      blixow14 dernière édition par blixow14

                                      Ah oui, alors désolé d’avoir cru que c’était pour moi ^^'. Je crois pas qu’il y ait besoin d’une autre fonction, je pense que ça vient de la façon très bizarre qu’il a eu de faire son block. Il doit dégager ces 2 classes puis en créer une seule l’extends à BlockStairs et ajouter son implements. Après il ajoute le block à L’ArrayList et met les fonctions que je lui ai dit de mettre.

                                      J'aime les pâtes

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • robin4002
                                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                        @Blackbalrog le problème c’est pas que ça fonctionne au non, c’est que tu répands des mauvaises pratiques en disant d’enlever @Override sans même savoir ce qu’il fait. Et ça cela m’agace beaucoup.

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • B
                                          Blackbalrog dernière édition par Blackbalrog

                                          Non j’ai jamais su à quoi il servait car les explication avec des mot technique c’est pas mon truc à chaque fois j y comprend rien

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • blixow14
                                            blixow14 dernière édition par

                                            Blackbalrog ce que tu proposes ne peut pas marcher justement parce que ça vient de la 1.7.10, or la version est la 1.12.2.
                                            Et retirer un Override ne régle pas les problèmes, car justement les overrides permettent d’appeler la méthodes de la classe. Pour faire simple comme tu ne comprends pas avec des mots techniques, c’est comme si tu disais : Cette méthode utiliser dans la classe , je vais signaler que je m’en sert, donc je mets un @Override pour cela (à noter que tu dois soit extends à une classe, soit implémenté quelque chose pour que tu puisses faire un Override, parce que justement tu appelles la méthode de la classe). Voilà j’espère tu as compris le principe.

                                            J'aime les pâtes

                                            robin4002 1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB