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

    Résolu Block XRay

    1.8.x
    1.8
    6
    17
    3812
    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.
    • Snowy_1803
      Snowy_1803 dernière édition par

      Bonjour, c’est encore moi 😛
      Je reviens vers vous car j’ai deux blocs qui posent problème :

      • Mon purificateur, qui est un block container, qui n’a une texture que dans l’inventaire.
        Mon blockstate :

        {    “variants”: {        “normal”:{ “model”: “elementalmod:purifier” }    }}

      • Mon modele (block) :
        {    “parent”: “block/cube_bottom_top”,    “textures”: {        “side”: “elementalmod:blocks/purifier_side”,        “top”: “elementalmod:blocks/purifier_top”,        “bottom”: “elementalmod:blocks/purifier_bottom”    }}

      • Mon modèle (item) :
        { “parent”: “elementalmod:block/purifier”, “display”: { “thirdperson”: { “rotation”: [10, -45, 170], “translation”: [0, 1.5, -2.75], “scale”: [0.375, 0.375, 0.375] } }}

      • Et enfin, mon Purifier.java :```java
        public class PurifierBlock extends BlockContainer {    protected PurifierBlock(Material material) {        super(material);        this.setUnlocalizedName(“purifier”);        this.setCreativeTab(CreativeTabs.tabDecorations);        this.setResistance(50.0F);        this.setHardness(10.0F);        this.setHarvestLevel(“pickaxe”, 1);    }        public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX,             float hitY, float hitZ) {        if(!world.isRemote) {            player.openGui(ModElemental.instance, 0, world, pos.getX(), pos.getY(), pos.getZ());        }        return true;            }    @Override    public TileEntity createNewTileEntity(World worldIn, int meta) {        return new PurifierTileEntity();    }        public boolean hasTileEntity(IBlockState state) {        return true;    }    public void breakBlock(World world, BlockPos pos, IBlockState state)    {        TileEntity tileentity = world.getTileEntity(pos);        if (tileentity instanceof IInventory)        {            IInventory inv = (IInventory)tileentity;            for (int i1 = 0; i1 < inv.getSizeInventory(); ++i1)            {                ItemStack itemstack = inv.getStackInSlot(i1);                if (itemstack != null)                {                    float f = world.rand.nextFloat() * 0.8F + 0.1F;                    float f1 = world.rand.nextFloat() * 0.8F + 0.1F;                    EntityItem entityitem;                    for (float f2 = world.rand.nextFloat() * 0.8F + 0.1F; itemstack.stackSize > 0; world.spawnEntityInWorld(entityitem))                    {                        int j1 = world.rand.nextInt(21) + 10;                        if (j1 > itemstack.stackSize)                        {                            j1 = itemstack.stackSize;                        }                        itemstack.stackSize -= j1;                        entityitem = new EntityItem(world, (double)((float)pos.getX() + f), (double)((float)pos.getY() + f1), (double)((float)pos.getZ() + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));                        float f3 = 0.05F;                        entityitem.motionX = (double)((float)world.rand.nextGaussian() * f3);                        entityitem.motionY = (double)((float)world.rand.nextGaussian() * f3 + 0.2F);                        entityitem.motionZ = (double)((float)world.rand.nextGaussian() * f3);                        if (itemstack.hasTagCompound())                        {                            entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());                        }                    }                }            }        }        super.breakBlock(world, pos, state);    }}

        
        
      • Mon deuxième problème, c’est un bloc qui a de la transparence. J’ai copié le code de BlockGlass, et le seul problème, c’est que l’on peut voir a travers les blocs adjacents.
        Code :```java
        public class SelenitBlock extends Block {    protected SelenitBlock(Material material) {        super(material);        this.setUnlocalizedName(“selenitBlock”);        this.setCreativeTab(CreativeTabs.tabBlock);        this.setResistance(8.0F);        this.setHardness(12.0F);        this.setHarvestLevel(“pickaxe”, 1);    }        /public boolean isOpaque() {        return false;    }        public boolean isTranslucent() {        return true;    }/        @SideOnly(Side.CLIENT)    public EnumWorldBlockLayer getBlockLayer()    {        return EnumWorldBlockLayer.CUTOUT;    }    public boolean isFullCube()    {        return false;    }}

        Désolé, mais l'éditeur a retiré tous les retours a la ligne…et toutes les balises... :@ :@ :@

      Moddeur 1.8

      Développeur Java

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

        Il me semble que :

        public boolean isOpaque()
        {
        return false;
        }
        public boolean isTranslucent()
        {
        return true;
        }
        Permette de corriger ça, essaye de les mettre

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

          Je les ai testé seul mais je n’ai pas testé de mettre les deux en même temps… Je vais voir ça 🙂

          Moddeur 1.8

          Développeur Java

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

            Override la fonction getRenderType et retourne 3 (pour le container)

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

              @‘bodri’:

              Override la fonction getRenderType et retourne 3 (pour le container)

              Pour le purificateur ou pour le Selenit ?

              Moddeur 1.8

              Développeur Java

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

                Le purificateur

                
                @Override
                public int getRenderType()
                {
                return 3;
                }
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • Snowy_1803
                  Snowy_1803 dernière édition par

                  Je teste ça tout de suite 🙂
                  PS : arrêtez d’aller plus vite que mon ordinateur 😄

                  EDIT : Merci beaucoup, le purificateur fonctionne enfin totalement 😄
                  Le Selenit a cependant toujours le même problème…

                  Moddeur 1.8

                  Développeur Java

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

                    Essai d’extends le Selenit à BlockBreakable et de mettre ces fonctions :

                    
                    @SideOnly(Side.CLIENT)
                    public EnumWorldBlockLayer getBlockLayer()
                    {
                    return EnumWorldBlockLayer.CUTOUT;
                    }
                    
                    public boolean isFullCube()
                    {
                    return false;
                    }
                    
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • DiabolicaTrix
                      DiabolicaTrix Correcteurs Moddeurs confirmés dernière édition par

                      Tu peux aussi essayer de mettre le code ci-dessous à la place de isTranslucent:

                      public boolean isOpaqueCube()
                      {
                      return false;
                      }
                      
                      public boolean renderAsNormalBlock()
                      {
                      return false;
                      }
                      
                      
                      1 réponse Dernière réponse Répondre Citer 1
                      • Deleted
                        Deleted dernière édition par

                        Et n oublie pas de rajouter l annotation
                        @SideOnly(SIDE.CLIENT)
                        Au dessus de ta methode getRenderType()
                        Sinon c est le crash assure une fois le mod sur serveur !

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

                          Merci, je vais tester tout ça.
                          EDIT : voilà ! Ça fonctionne ! Mais ce serait possible de faire une nuance entre coloré et transparent ? Dans la main, ca l’est, mais une fois posé c’est tout transparent avec des grilles totalement opaques.  :s

                          Moddeur 1.8

                          Développeur Java

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

                            Screenshot ? Pas tout compris

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

                              Voilà un screenshot :
                              0_1537564376338_2015-11-09_16.49.15.png
                              Le bloc en main est translucide alors que une fois posé, il est transparent 😕
                              J’aimerais que, une fois posé il est translucide.

                              Moddeur 1.8

                              Développeur Java

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

                                UP ! J’aimerais bien que mon block soit translucide une fois posé ! J’espère que c’est possible, car le bloc de verre ne le fait même pas, alors je ne vois pas où chercher…

                                Moddeur 1.8

                                Développeur Java

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

                                  Qu’appelles tu translucide ? Tu veux qu’il y est une légère transparence ?

                                  EDIT : envoi les json au passage

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

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

                                    Tu peux peut-être aussi essayer de retourner EnumWorldBlockLayer.TRANSLUCENT dans la fonction getBlockLayer()

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

                                      @‘bodri’:

                                      Tu peux peut-être aussi essayer de retourner EnumWorldBlockLayer.TRANSLUCENT dans la fonction getBlockLayer()

                                      C’est bon ça fonctionne ! Merci !

                                      Moddeur 1.8

                                      Développeur Java

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

                                      MINECRAFT FORGE FRANCE © 2018

                                      Powered by NodeBB