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

    Non résolu [1.7.10] Problème de AttackEntityFrom

    Support pour les moddeurs
    1.7.10
    3
    3
    197
    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.
    • T
      Traktool dernière édition par

      Bonjour, j’ai quelque soucis avec le mod que je suis en train de développer

      J’essaye de faire une compétence de dash, donc dash en avant et faire des dégâts aux mobs alentours.
      Le dash fonctionne très bien, mais pas les dégâts, alors que pourtant les entitées alentours sont belles et bien récupérées !

      Donc si vous pouviez m’aider un peu je vous en serrez reconnaissant !
      Car j’ai cherché partout, pleins de solutions mais rien ne fonctionne

      ClientProxy.java

      package com.traktool.saoskills.proxy;
      
      import java.util.List;
      
      import org.lwjgl.input.Keyboard;
      
      import cpw.mods.fml.client.registry.ClientRegistry;
      import cpw.mods.fml.common.FMLCommonHandler;
      import cpw.mods.fml.common.eventhandler.SubscribeEvent;
      import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.entity.EntityClientPlayerMP;
      import net.minecraft.client.settings.KeyBinding;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.item.ItemStack;
      import net.minecraft.item.ItemSword;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.util.AxisAlignedBB;
      import net.minecraft.util.ChatComponentText;
      import net.minecraft.util.DamageSource;
      
      public class ClientProxy extends CommonProxy
      {
          private static KeyBinding skill1;
          private static int Skill1CD = 1; // seconds
          private static long Skill1LaunchTime = 0;
          
          @Override
          public void registerRender()
          {
              System.out.println("méthode côté client");
              FMLCommonHandler.instance().bus().register(this);
              skill1 = new KeyBinding("key.skill1", Keyboard.KEY_H, "key.categories.saoskills");
              ClientRegistry.registerKeyBinding(skill1);
          }
          
          @SubscribeEvent
          public void onEvent(KeyInputEvent event)
          {
              if(skill1.isPressed())
              {
                  Minecraft minecraft = Minecraft.getMinecraft();
                  EntityClientPlayerMP player = minecraft.thePlayer;
                  
                  if (Skill1LaunchTime - System.currentTimeMillis() + (5*1000) <= 0) 
                  {
                      List entities = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox(player.posX, player.posY, player.posZ - 1, player.posX + 3, player.posY + 2, player.posZ + 1));
                      if (entities != null && !entities.isEmpty()) {
                          System.out.println(entities.size());
                          for (Object e: entities) {
                              EntityLivingBase entity = (EntityLivingBase) e;
                              System.out.println(entity.getClass().getName());
                              entity.attackEntityFrom(DamageSource.causePlayerDamage(player), 10);
                          }
                      }
                      
                      player.setVelocity(1, 0, 0);
                      Skill1LaunchTime = System.currentTimeMillis();
                  } 
                  else 
                  {
                      player.addChatComponentMessage(new ChatComponentText("Skill 1 cooldown remaining : " + (Skill1LaunchTime - System.currentTimeMillis() + (5*1000)) / 1000 + "s"));
                  }
              }
          }
      }
      

      SAOSkills.java

      package com.traktool.saoskills.common;
      
      import com.traktool.saoskills.proxy.CommonProxy;
      
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.EventHandler;
      import cpw.mods.fml.common.Mod.Instance;
      import cpw.mods.fml.common.SidedProxy;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      
      @Mod(modid = SAOSkills.MODID, name = "SAO Skills", version = "1.0.0")
      public class SAOSkills
      {
          public static final String MODID = "saoskills";
          
          @Instance(MODID)
          public static SAOSkills instance;
      
          @SidedProxy(clientSide = "com.traktool.saoskills.proxy.ClientProxy", serverSide = "com.traktool.saoskills.proxy.CommonProxy")
          public static CommonProxy proxy;
      
          @EventHandler
          public void preInit(FMLPreInitializationEvent event)
          {
              
          }
      
          @EventHandler
          public void init(FMLInitializationEvent event)
          {
              proxy.registerRender();
          }
      
          @EventHandler
          public void postInit(FMLPostInitializationEvent event)
          {
              
          }
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • SpyMan
        SpyMan dernière édition par SpyMan

        Yo, sache que l’event KeyInputEvent est CLIENT SIDE ONLY donc il est impossible que le CLIENT puisse infliger des dommages a des entities étandonné que la gestion des dommages est géré côté SERVER SIDE ONLY

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

          Tu dois envoyer un packet au serveur qui lui calculera le dash et fera les damages

          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