• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Bloc invisible

    1.8.x
    1.8
    4
    12
    2915
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • clementdugal
      clementdugal last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        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 Reply Last reply Reply Quote 1
        • SpyMan
          SpyMan last edited by

          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 Reply Last reply Reply Quote 0
          • clementdugal
            clementdugal last edited by

            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 Reply Last reply Reply Quote 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

              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 Reply Last reply Reply Quote 0
              • clementdugal
                clementdugal last edited by

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

                1 Reply Last reply Reply Quote 0
                • clementdugal
                  clementdugal last edited by

                  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 Reply Last reply Reply Quote 0
                  • Snowy_1803
                    Snowy_1803 last edited by

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

                    Moddeur 1.8

                    Développeur Java

                    1 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                      Envoies un copier/coller des jsons.

                      @**Snowy_1803 **non

                      1 Reply Last reply Reply Quote 0
                      • clementdugal
                        clementdugal last edited by

                        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 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                          /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 Reply Last reply Reply Quote 0
                          • clementdugal
                            clementdugal last edited by

                            Ah, ça fonctionne parfaitement, merci beaucoup ! 😄

                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post
                            Design by Woryk
                            Contact / Mentions Légales

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB