MFF

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

    Armures ou items qui permettent de fly en survit

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    39 Messages 5 Publieurs 2.3k Vues 5 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.
    • Arca30A Hors-ligne
      Arca30
      dernière édition par

      oui c’est vrai je pense que je vais bien galérer mais bon tant pis… Je vais quand même continuer à chercher car mon mod et quasiment terminé donc ça me chier d’abandonner la, si jamais quelqu’un a une idée je suis toujours preneur.

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

        Et j’aimerais bien direct passer mon mod direct en 1.16 plutôt mais bon j’arrive pas a créer mon environnement de développement Eclipse donc si quelqu’un sais comment faire je veux bien aussi

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

          J’ai réussi a activer le fly mais impossible de le désactiver en enlevant mon armure, voila mon code. Mon armure active le fly lorsque un seul morceaux d’armure est équipé alors que j’aimerais qu’il ne s’active qu’une fois toute l’armure équipé.

          package fr.arca.arcadia.items.armor;
          
          public class ArmorBase extends ItemArmor implements IHasModel 
          {
          
             private int ticksExisted;
          
             public ArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) 
             {
             	super(materialIn, renderIndexIn, equipmentSlotIn);
             	setUnlocalizedName(name);
             	setRegistryName(name);
             	setCreativeTab(Arcadia.ArcadiaTab);
             	ItemsMod.ITEMS.add(this);
             }
          
             @Override
             public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) 
             {
             	super.onArmorTick(world, player, itemStack);
             	
             	if(this.ticksExisted % 60 == 0)
             	{
             		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
             		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
             		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
             		ItemStack boots = player.inventory.armorItemInSlot( 0 );
             		
             		if(boots != null && leggings != null && chestplate != null && helmet != null)
             		{
             			player.capabilities.allowFlying = true;
             		}
             	}
             }
             
             @Override
             public void registerModels() 
             {
             	Arcadia.proxy.registerItemRenderer(this, 0, "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

            Il ne faut pas passer par armortick mais plutôt par player tick si tu veux pouvoir le désactiver quand l’armure est retiré. (faut faire une condition du genre, si l’utilisateur n’a pas l’armure et n’est pas en créatif et qu’il peut voler => interdire de voler)

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

              J’ai essayé sauf que PlayerTick n’existe pas en 1.12 et je n’ai pas trouvé d’alternative, il y a PlayertTickEvent mais ça ne fonctionne pas, je n’arrive meme pas a voler…

              Pour le moment ce code est un code de test pour voir si j’arrive a désactiver le fly:

               public void PlayerTickEvent(World world, EntityPlayer player, ItemStack itemStack) 
                  {
               
                  		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                  		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                  		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                  		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                  		
                  		if(boots != null && leggings != null && chestplate != null && helmet != null)
                  		{
                  			player.capabilities.allowFlying = true;
                  		}
                  		
                  		else
                  		{
                  			player.capabilities.allowFlying = false;
                  		}
                  }
              
              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

                Ce n’est pas comme cela qu’un événement s’utilise.

                https://www.minecraftforgefrance.fr/topic/636/utiliser-les-événements

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

                  Il n’y pas moyen de ne pas utiliser d’event ? Parce que je n’en ai jamais utilisé dans du code du coup je suis complètement perdu, j’ai essayé quelque truc mais rien ne fonctionne, j’ai lu ton tuto de 1.7 et 1.8 mais ça ne m’as pas avancé a grand chose désolé…

                  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

                    Mais il y a quoi de compliqué ???

                        @SubscribeEvent
                       public void onPlayerTick(PlayerTickEvent event) 
                        {
                                    EntityPlayer player = event.getPlayer();
                        		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                        		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                        		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                        		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                    
                        		if(boots != null && leggings != null && chestplate != null && helmet != null)
                        		{
                        			player.capabilities.allowFlying = true;
                        		}
                    
                        		else
                        		{
                        			player.capabilities.allowFlying = false;
                        		}
                        }
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • Arca30A Hors-ligne
                      Arca30
                      dernière édition par Arca30

                      J’avais quasiment fait ça j’avais juste mal écrit la ligne de l’EntityPlayer mais je pensais m’être complètement planté, ducoup j’ai juste un probléme avec le event.getPlayer , le getPlayer me met une erreur… “The method getPlayer() is undefined for the type TickEvent.PlayerTickEvent”

                      @SubscribeEvent
                      	   public void onPlayerTick(PlayerTickEvent event) 
                      	    {
                      	                EntityPlayer player = event.getPlayer();
                      	    		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                      	    		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                      	    		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                      	    		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                      	 
                      	    		if(boots != null && leggings != null && chestplate != null && helmet != null)
                      	    		{
                      	    			player.capabilities.allowFlying = true;
                      	    		}
                      	 
                      	    		else
                      	    		{
                      	    			player.capabilities.allowFlying = false;
                      	    		}
                      	    }
                      
                      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

                        C’est peut-être getEntityPlayer() alors ? Ou juste .player; ?

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

                          Je peux mettre event.player mais impossible de voler et pour getEntityPlayer impossible de le mettre ça fait pareil que le .getPlayer…

                          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

                            Donc c’est event.player le bon.

                            Maintenant reste à savoir si ton événement est bien appelé ou non. Si la fonction n’est jamais appelé c’est que tu ne l’as pas enregistré, retourne voir le tutoriel dans ce cas …

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

                              C’est bon je l’ai enregistré avec event.player et j’arrive a voler en survie ! Petit problème je vole sans armure…
                              Je continue à chercher mais si jamais t’as la solution je suis preneur :grinning_face_with_sweat:

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

                                Bon j’y arrive pas, je comprend pas…

                                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

                                  Si tu arrêtes de voler sans armure, est-ce que tu arrives à nouveau à voler ensuite ?

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

                                    oui j’arrive a voler après m’être posé sans armure et le problème est encore pire, des que je lance le jeu je peut voler direct sans mettre aucun bout d’armure…

                                    Je te remet mon code au cas ou

                                    package fr.arca.arcadia;
                                    
                                    import fr.arca.arcadia.init.ItemsMod;
                                    
                                    public class EventHandler 
                                    {   
                                    	 
                                    	@SubscribeEvent
                                    	   public void onPlayerTick(PlayerTickEvent event) 
                                    	    {
                                    	            EntityPlayer player = event.player;
                                    	    		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                                    	    		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                                    	    		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                                    	    		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                                    	 
                                    	    		if(boots != null && leggings != null && chestplate != null && helmet != null)
                                    	    		{
                                    	    			player.capabilities.allowFlying = true;
                                    	    		}
                                    	 
                                    	    		else
                                    	    		{
                                    	    			player.capabilities.allowFlying = false;
                                    	    		}
                                    	    }
                                    	
                                    }
                                    
                                    
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • TwiguinouT Hors-ligne
                                      Twiguinou
                                      dernière édition par

                                      Si tu arrives à voler c’est que Minecraft n’utilise pas l’attribut null quand un slot est vide mais il utilise ItemStack.EMPTY donc vérifie plutôt si l’ItemStack est différent de ItemStack.EMPTY.

                                      1 réponse Dernière réponse Répondre Citer 2
                                      • Arca30A Hors-ligne
                                        Arca30
                                        dernière édition par

                                        Merci beaucoup ça fonctionne parfaitement, mais pour toute les armures…

                                        J’arrive pas à limiter le fly à une seule armure. J’ai quelques idées mais je n’arrive pas à les mettre en place.
                                        Comment je pourrais faire pour que seulement quand un item en particulier est équipé la condition soit vérifié ?

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

                                          A lieu de vérifier si le casque est pas vide tu vérifie si le casque est le casque que tu veut si ca bug vérifie d’abord si c’est pas EMPTY avant de vérifier que ce qui y’a dedans est ce que tu veut en gros tu garde la meme condition sauf que au lieu de EMPTY tu met l’item tu veut

                                          	ItemStack checkedHelmet= new ItemStack(TaClasse.TonCasque );
                                          ItemStack checkedboot= new ItemStack(TaClasse.Tonboot );
                                          ItemStack checkedchest= new ItemStack(TaClasse.TonChest );
                                          ItemStack checkedleggin= new ItemStack(TaClasse.TonLeggin );
                                          
                                              		if(boots == checkedboot  && leggings == checkedleggin && chestplate == checkedchest && helmet == checkedHelmet)
                                              		
                                              			    		{
                                              		
                                              			    			player.capabilities.allowFlying = true;
                                              		
                                              			    		}
                                              		
                                              			 
                                              		
                                              			    		else
                                              		
                                              			    		{
                                              		
                                              			    			player.capabilities.allowFlying = false;
                                              		
                                              			    		}
                                          
                                          //si ca marche pas tu fait ca 
                                          	    		if(boots != ItemStack.EMPTY  && leggings != ItemStack.EMPTY  && chestplate != ItemStack.EMPTY  && helmet != ItemStack.EMPTY  )
                                          
                                          	    		{
                                          	    		if(boots == checkedboot  && leggings == checkedleggin && chestplate == checkedchest && helmet == checkedHelmet)
                                          	    		
                                          	    			    		{
                                          	    		
                                          	    			    			player.capabilities.allowFlying = true;
                                          	    		
                                          	    			    		}
                                          	    		
                                          	    			 }
                                          	    		
                                          	    			    		else
                                          	    		
                                          	    			    		{
                                          	    		
                                          	    			    			player.capabilities.allowFlying = false;
                                          	    		
                                          	    			    		}
                                          
                                          

                                          “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

                                            Désolé ça ne fonctionne pas, je n’arrive plus du tout à fly.
                                            J’ai essayé ça:

                                            @SubscribeEvent
                                            	   public void onPlayerTick(PlayerTickEvent event) 
                                            	    {
                                            	            EntityPlayer player = event.player;
                                            	    		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                                            	    		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                                            	    		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                                            	    		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                                            	    		
                                            	    		ItemStack checkedHelmet = new ItemStack(ItemsMod.findium_helmet);
                                            	    		ItemStack checkedChestplate = new ItemStack(ItemsMod.findium_chestplate);
                                            	    		ItemStack checkedLeggings = new ItemStack(ItemsMod.findium_leggings);
                                            	    		ItemStack checkedBoots = new ItemStack(ItemsMod.findium_boots);
                                            	    		
                                            	    		
                                            	    		if(boots != ItemStack.EMPTY && leggings != ItemStack.EMPTY && chestplate != ItemStack.EMPTY && helmet != ItemStack.EMPTY)
                                            	    		{
                                            	    			
                                            	    			if(helmet == checkedHelmet && chestplate == checkedChestplate && leggings == checkedLeggings && boots == checkedBoots)
                                            	    				{
                                            	    				
                                            	    					player.capabilities.allowFlying = true;
                                            	    				
                                            	    				}
                                            	    			
                                            	    		}
                                            	 
                                            	    		else
                                            	    		{
                                            	    			player.capabilities.allowFlying = false;
                                            	    			player.capabilities.isFlying = false;
                                            	    		}
                                            	    }
                                            

                                            et ça:

                                            @SubscribeEvent
                                            	   public void onPlayerTick(PlayerTickEvent event) 
                                            	    {
                                            	            EntityPlayer player = event.player;
                                            	    		ItemStack helmet = player.inventory.armorItemInSlot( 3 );
                                            	    		ItemStack chestplate = player.inventory.armorItemInSlot( 2 );
                                            	    		ItemStack leggings = player.inventory.armorItemInSlot( 1 );
                                            	    		ItemStack boots = player.inventory.armorItemInSlot( 0 );
                                            	    		
                                            	    		ItemStack checkedHelmet = new ItemStack(ItemsMod.findium_helmet);
                                            	    		ItemStack checkedChestplate = new ItemStack(ItemsMod.findium_chestplate);
                                            	    		ItemStack checkedLeggings = new ItemStack(ItemsMod.findium_leggings);
                                            	    		ItemStack checkedBoots = new ItemStack(ItemsMod.findium_boots);
                                            	    		
                                            	    		
                                            	    	
                                            	    		if(helmet == checkedHelmet && chestplate == checkedChestplate && leggings == checkedLeggings && boots == checkedBoots)
                                            	    			{
                                            	    				
                                            	    				player.capabilities.allowFlying = true;
                                            	    				
                                            	    			}
                                            	    			
                                            	    		
                                            	 
                                            	    		else
                                            	    		{
                                            	    			player.capabilities.allowFlying = false;
                                            	    			player.capabilities.isFlying = false;
                                            	    		}
                                            	    }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB