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

    Solved Changer Texture avec clique droit avec un item

    1.7.x
    1.7.2
    4
    10
    1760
    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.
    • BurningCraft
      BurningCraft last edited by

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

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

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

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

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

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

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

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

                  Moddeur 1.8

                  Développeur Java

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

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

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

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

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

                        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