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

    Résolu Changer Texture avec clique droit avec un item

    1.7.x
    1.7.2
    4
    10
    1785
    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.
    • BurningCraft
      BurningCraft dernière édition par

      Bonjour, je vient pour vous demander quelque chose ^^

      Alors voila j’aimerais savoir si on pouvait faire changer la texture d’un bloc en fonction de l’item que l’on tient dans la main ^^

      Par exemple j’ai un block normal et si je clique droit dessus avec un diamand il prend la texture du block de diam’s ^^

      Voila j’espère que j’ai bien expliquer XD

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

        Salut,
        Par un bloc normal tu entends quoi ? N’importe quel bloc du jeu ? Ou un bloc que tu ajoutes toi via ton mod ?
        Dans le premier cas ce n’est pas possible.
        Dans le second cas c’est possible, je l’ai déjà fait :
        https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/BlockPrivate.java#L141-L187
        https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/BlockPrivate.java#L288-L299
        https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/TileEntityPrivateAdaptable.java

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

          @‘robin4002’:

          Salut,
          Par un bloc normal tu entends quoi ? N’importe quel bloc du jeu ? Ou un bloc que tu ajoutes toi via ton mod ?
          Dans le premier cas ce n’est pas possible.
          Dans le second cas c’est possible, je l’ai déjà fait :
          https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/BlockPrivate.java#L141-L187
          https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/BlockPrivate.java#L288-L299
          https://github.com/FFMT/Privatizer/blob/master/privatizer_src/fr/mcnanotech/privatizer/common/TileEntityPrivateAdaptable.java

          Un bloc de mon mod 😉 merci je vais regarder sa ^^

          Et pour changer le modèle d’un bloc techne ssa change beaucoup ou pas ?

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

            Heu si c’est un modèle techne pas sûr que ce soit possible.
            Ou alors ça va être très compliqué.

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

              Par ISBRH c’est possible, tu utilises le RenderBlock fournit en paramètre pour faire le rendu du block voulut. Par contre si c’est une texture que tu veux appliquer sur un modèle, il faut récupérer les coordonnées de la texture du block dans le cache

              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
              • BurningCraft
                BurningCraft dernière édition par

                Donc Voila, Robin j’ai regarder les code que tu ma envoyer et j’ai rien compris XD ^^.

                J’ai donc essayer de cree un block ou quand on clique droit avec un Item Special sa fait spawn un block au dessus, ensuite on check si le block au dessus correspond au block indiquer alor on change la texture sinon on laisse la texture XD (J’espere que c’est clair ^^)

                donc voila tout marche bien sauf un truc quand le joueur clique sur le bloc avec rien dans la main sa crash

                Code

                public class testBlock extends Block 
                {
                
                @SideOnly(Side.CLIENT)
                private IIcon[] iconArray;
                public static IIcon Block1;
                public static IIcon Block2;
                
                public testBlock (int i,Material material) 
                {
                super(material);
                
                this.setHarvestLevel("pickaxe", 3);
                this.setHardness(20.0F);
                this.setResistance(100.0F);
                this.setLightLevel(1.0F);
                this.setStepSound(soundTypeMetal);
                this.setBlockName("testBlock");
                
                }
                
                public void registerBlockIcons(IIconRegister iconRegister)
                {
                
                 block1= iconRegister.registerIcon("lfc:testBlock1");
                 block2= iconRegister.registerIcon("lfc:testBlock2");
                }
                
                public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
                    {
                if(player.getCurrentEquippedItem().getItem() == Items.apple)
                {
                world.setBlock(x, y+1, z, Blocks.anvil);
                
                }
                else if(player.getCurrentEquippedItem().getItem() !=Items.apple)
                {
                world.setBlock(x, y+1, z, Blocks.air);
                }
                
                return true;
                    }
                
                public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
                {
                
                if(world.getBlock(x, y+1, z) == Blocks.anvil)
                {
                return block1;
                }
                
                return block2;
                
                }
                }
                
                

                Crash

                [15:03:32] [Client thread/FATAL]: Unreported exception thrown!
                java.lang.NullPointerException
                at fr.burning.lfc.blocks.testBlock.func_149727_a(testBlock.java:60) ~[testBlock.class:?]
                at net.minecraft.client.multiplayer.PlayerControllerMP.func_78760_a(PlayerControllerMP.java:326) ~[biy.class:?]
                at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1399) ~[azd.class:?]
                at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1903) ~[azd.class:?]
                at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:916) ~[azd.class:?]
                at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:835) [azd.class:?]
                at net.minecraft.client.main.Main.main(SourceFile:103) [Main.class:?]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_51]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_51]
                at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
                at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • Snowy_1803
                  Snowy_1803 dernière édition par

                  getCurrentEquipedItem() renvoie null et tu fais .getItem() dessus, donc ça cause un NPE.

                  Moddeur 1.8

                  Développeur Java

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

                    @‘Snowy_1803’:

                    getCurrentEquipedItem() renvoie null et tu fais .getItem() dessus, donc ça cause un NPE.

                    je voit pas ou j’ai fais sa car je n’est pas ecrit  :

                    [size=smallplayer][size=small.][size=smallgetCurrentEquippedItem]size=small.[size=smallgetItem]size=small == null 

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

                      Il faut faire :
                      player.getCurrentEquipedItem() != null && player.getCurrentEquipedItem().geItem() == Items.apple

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

                        Merci a tous, sa marche niquel je passe en résolut 😉

                        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