MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Bloc invisible

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    12 Messages 4 Publieurs 3.4k Vues 1 Watching
    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.
    • clementdugalC Hors-ligne
      clementdugal
      dernière édition par

      Bonjour à tous,

      Étant débutant dans le développement de mods via Minecraft Forge, je sollicite votre aide.
      Je souhaiterai coder un bloc invisible. Cependant, la texture de ce bloc est totalement blanche.
      Pour information, j’ai mit une image PNG 16x16 transparente en tant que texture.

      Voici la class de mon bloc :

      package com.clementdugal.wolfblocks;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.resources.model.ModelResourceLocation;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.init.Blocks;
      import net.minecraft.init.Items;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraftforge.fml.common.registry.GameRegistry;
      
      public class BlockInvisible extends Block {
      
      public BlockInvisible() {
      super(Material.glass);
      this.setHardness(0.3F);
      this.setStepSound(soundTypeGlass);
      this.setUnlocalizedName("invisible_block");
      this.setCreativeTab(CreativeTabs.tabBlock);
      }
      
      public void init() {
      Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(WolfBlocks.invisible_block), 0, new ModelResourceLocation("wolfblocks:invisible_block_inventory", "inventory"));
      
      GameRegistry.addRecipe(new ItemStack(WolfBlocks.invisible_block, 1), new Object[]{
      "AAA",
      "ABA",
      "AAA",
      'A', Blocks.glass,
      'B', new ItemStack(Items.potionitem, 1, 8206)
      });
      }
      
      public boolean isOpaqueCube() {
         return (false);
          }
      
      public boolean renderAsNormalBlock() {
              return (false);
          }
      }
      
      

      Avez vous une solution ?

      Merci d’avance.

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

        Salut,
        Il suffit de jeter un coup d’œil a BlockGlass pour voir qu’il faut ajouter ces fonctions :

           @SideOnly(Side.CLIENT)
           public EnumWorldBlockLayer getBlockLayer()
           {
               return EnumWorldBlockLayer.CUTOUT;
           }
        
           public boolean isFullCube()
           {
               return false;
           }
        

        Et faire en sorte que son bloc soit extends BlockBreakable à la place de Block. (il faut ajouter false dans le constructeur).

        Pourquoi tu as une fonction init dans ton bloc ?

        1 réponse Dernière réponse Répondre Citer 1
        • SpyManS Hors-ligne
          SpyMan
          dernière édition par

          Regarde comment minecraft fait, il me semble que en 1.8 il y a un block comme cela : le barrier si je ne me trompe pas

          1 réponse Dernière réponse Répondre Citer 0
          • clementdugalC Hors-ligne
            clementdugal
            dernière édition par

            Ah super, le bloc est bien invisible maintenant !  🙂

            Ma fonction init() sert à initialiser la texture dans l’inventaire  et les éventuelles recettes.
            La fonction est exécutée lors de la fonction init() de mon mod.

            Merci beaucoup 🙂

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

              Mauvaise idée de faire ça comme.
              Les recettes doivent être enregistré côté serveur. La texture elle doit être côté client.
              La recette peut être mit sur les deux en même temps, ça ne cause pas de soucis. Par contre l’enregistrement de la texture dans l’inventaire va faire crasher ton serveur.

              1 réponse Dernière réponse Répondre Citer 0
              • clementdugalC Hors-ligne
                clementdugal
                dernière édition par

                Ah ok, je ne savais pas, je n’ai pas encore testé le mod sur serveur.
                Merci de l’information 🙂

                1 réponse Dernière réponse Répondre Citer 0
                • clementdugalC Hors-ligne
                  clementdugal
                  dernière édition par

                  Par contre, j’ai également un étrange problème avec la texture du bloc dans l’inventaire.

                  J’aimerai que la texture du bloc posée (totalement invisible) soit différente du bloc dans l’inventaire (avec des contours noirs).
                  Pour cela, j’ai créer deux textures et tous les fichiers json qui vont avec.

                  Le problème, c’est que la texture de l’inventaire n’est pas affichée (bloc rose/noir).

                  As-tu une idée du problème ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • Snowy_1803S Hors-ligne
                    Snowy_1803
                    dernière édition par

                    Je pense qu’il faut faire une classe ItemBlock pour cela.

                    Moddeur 1.8

                    Développeur Java

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

                      Envoies un copier/coller des jsons.

                      @**Snowy_1803 **non

                      1 réponse Dernière réponse Répondre Citer 0
                      • clementdugalC Hors-ligne
                        clementdugal
                        dernière édition par

                        Voici les jsons :

                        /assets/wolfblocks/models/block/invisible_block

                        {
                        "parent": "block/cube_all",
                        "textures": {
                        "all": "wolfblocks:blocks/invisible_block"
                        }
                        }
                        

                        /assets/wolfblocks/models/item/invisible_block

                        {
                        "parent": "wolfblocks:block/invisible_block",
                        "display": {
                        "thirdperson": {
                        "rotation": [ 10, -45, 170 ],
                        "translation": [ 0, 1.5, -2.75 ],
                        "scale": [ 0.375, 0.375, 0.375 ]
                        }
                        }
                        }
                        

                        /assets/wolfblocks/blockstates/invisible_block

                        {
                        "variants": {
                        "normal": { "model": "wolfblocks:invisible_block" }
                        }
                        }
                        

                        –------------------------------------------------------------

                        /assets/wolfblocks/models/block/invisible_block_inventory

                        {
                        "parent": "block/cube_all",
                        "textures": {
                        "all": "wolfblocks:blocks/invisible_block_inventory"
                        }
                        }
                        

                        /assets/wolfblocks/models/item/invisible_block_inventory

                        {
                        "parent": "wolfblocks:block/invisible_block_inventory",
                        "display": {
                        "thirdperson": {
                        "rotation": [ 10, -45, 170 ],
                        "translation": [ 0, 1.5, -2.75 ],
                        "scale": [ 0.375, 0.375, 0.375 ]
                        }
                        }
                        }
                        

                        /assets/wolfblocks/blockstates/invisible_block_inventory

                        {
                        "variants": {
                        "normal": { "model": "wolfblocks:invisible_block_inventory" }
                        }
                        }
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          /assets/wolfblocks/models/block/invisible_block_inventory -> supprimer
                          /assets/wolfblocks/models/item/invisible_block_inventory -> supprimer
                          /assets/wolfblocks/blockstates/invisible_block_inventory -> supprimer

                          /assets/wolfblocks/models/item/invisible_block ->

                          {
                          "parent": "block/cube_all",
                          "textures": {
                          "all": "wolfblocks:blocks/invisible_block_inventory"
                          }
                          "display": {
                          "thirdperson": {
                          "rotation": [ 10, -45, 170 ],
                          "translation": [ 0, 1.5, -2.75 ],
                          "scale": [ 0.375, 0.375, 0.375 ]
                          }
                          }
                          }
                          
                          1 réponse Dernière réponse Répondre Citer 0
                          • clementdugalC Hors-ligne
                            clementdugal
                            dernière édition par

                            Ah, ça fonctionne parfaitement, merci beaucoup ! 😄

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB