MFF

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

    Utilisation d'un mod externe dans son propre mod

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    13 Messages 4 Publieurs 2.0k Vues 1 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.
    • T Hors-ligne
      TheWolf
      dernière édition par

      Plaigon ce que tu m’as passé marche mais quand je le met dans la partie init de ma classe principale et quand j’utilises la variable F définissant mon block dans une méthode d’une autre classe, F est souligné en rouge en me disant f cannot be resolved to a variable 😕

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

        Il faut que tu déplaces mon code hors de init() de manière à le rajouter là où t’en as besoin. C’est logique 😃
        Sinon file ton code et on t’explique plus en détail ce qui ne va pas…

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

          
          protected void onImpact(MovingObjectPosition movingObjectPosition) 
          {
              { 
              Block f;
              if(Loader.isModLoaded("TeNNoX_KeyAndCodeLock"))
              f = GameRegistry.findBlock("TeNNoX_KeyAndCodeLock", "keylockeddoor");
              else
              System.out.println("L'utilisateur n'a pas le mod contenant le block.");
              }
          
              if (this.worldObj.getBlock((movingObjectPosition.blockX), (movingObjectPosition.blockY), (movingObjectPosition.blockZ)) == Blocks.obsidian) 
          {
          for (int x = -1; x < 1; x++)
          for (int y = -1; y < 1; y++)
          for (int z = -1; z < 2; z++)
          this.worldObj.setBlockToAir(movingObjectPosition.blockX + x,movingObjectPosition.blockY + y,movingObjectPosition.blockZ + z);
          }
              if (this.worldObj.getBlock( movingObjectPosition.blockX,movingObjectPosition.blockY, movingObjectPosition.blockZ) == f) 
          {
          this.worldObj.setBlockToAir(movingObjectPosition.blockX, movingObjectPosition.blockY, movingObjectPosition.blockZ);
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • DeletedD Hors-ligne
            Deleted
            dernière édition par

            Ton code est vraiment mauvais….As-tu au moins remarqué que la moitié des parenthèses étaient mal placées ?! Corrige tout ceci et puis ensuite on pourra t’aider…

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

              Enlève les accolades qui entourent le bloc que Plaigon t’a donné

              Moddeur 1.8

              Développeur Java

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

                Toujours pas bon ça me demande d’initialiser la variable f 😕

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

                  Mets
                  Block f = null;

                  Moddeur 1.8

                  Développeur Java

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

                    Bon le problème persiste je mets à jour la classe de l’entité :```java
                    package fr.freshblock.freshrocket.entity.projectile;

                    import java.util.List;

                    import cpw.mods.fml.common.Loader;
                    import cpw.mods.fml.common.network.handshake.FMLHandshakeMessage.ModIdData;
                    import cpw.mods.fml.common.registry.EntityRegistry;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    import cpw.mods.fml.relauncher.Side;
                    import cpw.mods.fml.relauncher.SideOnly;
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.enchantment.EnchantmentHelper;
                    import net.minecraft.entity.Entity;
                    import net.minecraft.entity.EntityLivingBase;
                    import net.minecraft.entity.IProjectile;
                    import net.minecraft.entity.monster.EntityBlaze;
                    import net.minecraft.entity.monster.EntityEnderman;
                    import net.minecraft.entity.player.EntityPlayer;
                    import net.minecraft.entity.player.EntityPlayerMP;
                    import net.minecraft.entity.projectile.EntityThrowable;
                    import net.minecraft.init.Blocks;
                    import net.minecraft.nbt.NBTTagCompound;
                    import net.minecraft.nbt.NBTTagList;
                    import net.minecraft.network.play.server.S2BPacketChangeGameState;
                    import net.minecraft.util.AxisAlignedBB;
                    import net.minecraft.util.DamageSource;
                    import net.minecraft.util.IProgressUpdate;
                    import net.minecraft.util.MathHelper;
                    import net.minecraft.util.MovingObjectPosition;
                    import net.minecraft.util.Vec3;
                    import net.minecraft.util.MovingObjectPosition.MovingObjectType;
                    import net.minecraft.world.Explosion;
                    import net.minecraft.world.World;
                    import net.minecraftforge.client.gui.ForgeGuiFactory.ForgeConfigGui.ModIDEntry;

                    public class EntityFreshRocket extends Entity implements IProjectile {

                    private Block inTile;
                    private int ticksAlive;
                    private int inData;
                    private boolean inGround;
                    public int arrowShake;
                    public Entity shootingEntity;
                    private int ticksInGround;
                    private int ticksInAir;
                    private double damage = 6.0D;
                    private int knockbackStrength;
                    public int canBePickedUp;
                    private int field_145795_e = -1;
                    private int field_145793_f = -1;
                    private int field_145794_g = -1;

                    @Override
                    protected void entityInit() {

                    }

                    @Override
                    protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {

                    }

                    @Override
                    protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {

                    }

                    public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_,
                    float p_70186_8_) {
                    float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_);
                    p_70186_1_ /= (double) f2;
                    p_70186_3_ /= (double) f2;
                    p_70186_5_ /= (double) f2;
                    p_70186_1_ *= (double) p_70186_7_;
                    p_70186_3_ *= (double) p_70186_7_;
                    p_70186_5_ *= (double) p_70186_7_;
                    this.motionX = p_70186_1_;
                    this.motionY = p_70186_3_;
                    this.motionZ = p_70186_5_;
                    this.ticksInGround = 0;
                    this.worldObj.playSound(5D, 5D, 5D, “random.fizz”, distanceWalkedModified, distanceWalkedModified, true);
                    }

                    public EntityFreshRocket(World worldIn) {
                    super(worldIn);
                    this.setSize(0.5F, 0.5F);
                    this.renderDistanceWeight = 10.0D;
                    }

                    public EntityFreshRocket(World worldIn, double x, double y, double z) {
                    super(worldIn);
                    this.setSize(0.5F, 0.5F);
                    this.setPosition(x, y, z);
                    this.renderDistanceWeight = 10.0D;
                    this.yOffset = 0.0F;
                    }

                    @SideOnly(Side.CLIENT)
                    public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_,
                    float p_70056_8_, int p_70056_9_) {
                    this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_);
                    this.setRotation(p_70056_7_, p_70056_8_);
                    }

                    @SideOnly(Side.CLIENT)
                    public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) {
                    this.motionX = p_70016_1_;
                    this.motionY = p_70016_3_;
                    this.motionZ = p_70016_5_;

                    if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) {
                    float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_);
                    this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI);
                    this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(p_70016_3_, (double) f) * 180.0D
                    / Math.PI);
                    this.prevRotationPitch = this.rotationPitch;
                    this.prevRotationYaw = this.rotationYaw;
                    this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                    this.ticksInGround = 0;
                    }
                    }

                    protected void onImpact(MovingObjectPosition movingObjectPosition) 
                    {    
                       if (this.worldObj.getBlock((movingObjectPosition.blockX), (movingObjectPosition.blockY), (movingObjectPosition.blockZ)) == Blocks.obsidian) 
                    {
                        for (int x = -1; x < 1; x++)
                        for (int y = -1; y < 1; y++)
                        for (int z = -1; z < 2; z++)
                        this.worldObj.setBlockToAir(movingObjectPosition.blockX + x,movingObjectPosition.blockY + y,movingObjectPosition.blockZ + z);

                    Block f = null;

                    if(Loader.isModLoaded(“TeNNoX_KeyAndCodeLock”))
                        f = GameRegistry.findBlock(“TeNNoX_KeyAndCodeLock”, “keylockeddoor”);
                        else
                        System.out.println(“L’utilisateur n’a pas le mod contenant le block.”);

                    if (this.worldObj.getBlock((movingObjectPosition.blockX), (movingObjectPosition.blockY), (movingObjectPosition.blockZ)) == f)
                    {
                    this.worldObj.setBlockToAir(movingObjectPosition.blockX,movingObjectPosition.blockY,movingObjectPosition.blockZ);
                    }
                    }

                    if (movingObjectPosition.typeOfHit == MovingObjectType.BLOCK) 
                    {
                    switch (movingObjectPosition.sideHit) 
                    {
                    case 0:
                    movingObjectPosition.blockY–;
                    case 1:
                    movingObjectPosition.blockY++;
                    break;
                    case 2:
                    movingObjectPosition.blockZ–;
                    break;
                    case 3:
                    movingObjectPosition.blockZ++;
                    break;
                    case 4: // NORTH
                    movingObjectPosition.blockX–;
                    break;
                    case 5: // SOUTH
                    movingObjectPosition.blockX++;
                    break;
                    }

                    this.worldObj.spawnParticle(“largeexplode”, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);

                    this.setDead();
                    }
                    if (!this.worldObj.isRemote) 
                    {
                    this.worldObj.newExplosion(this, movingObjectPosition.blockX, movingObjectPosition.blockY, movingObjectPosition.blockZ, 2F, false, true);
                    }
                    }

                    public void onUpdate() 
                    {
                    if (this.ticksInAir == 12
                    || !this.worldObj.isRemote && (this.shootingEntity != null && this.shootingEntity.isDead
                    || !this.worldObj.blockExists((int) this.posX, (int) this.posY, (int) this.posZ))) {
                    this.setDead();
                    } else {
                    super.onUpdate();

                    if (this.inGround) {
                    if (this.worldObj.getBlock(this.field_145795_e, this.field_145793_f,
                    this.field_145794_g) == this.inTile) {
                    ++this.ticksAlive;

                    if (this.ticksAlive == 600) {
                    this.setDead();
                    }

                    return;
                    }

                    this.inGround = false;
                    this.ticksAlive = 0;
                    this.ticksInAir = 0;
                    } else {
                    ++this.ticksInAir;
                    }

                    Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
                    Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
                    this.posZ + this.motionZ);
                    MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31);
                    vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
                    vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
                    this.posZ + this.motionZ);

                    if (movingobjectposition != null) {
                    vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord,
                    movingobjectposition.hitVec.zCoord);
                    }

                    Entity entity = null;
                    List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,
                    this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
                    double d0 = 0.0D;

                    for (int i = 0; i < list.size(); ++i) {
                    Entity entity1 = (Entity) list.get(i);

                    if (entity1.canBeCollidedWith()
                    && (!entity1.isEntityEqual(this.shootingEntity) || this.ticksInAir >= 25)) {
                    float f = 0.3F;
                    AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f);
                    MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31);

                    if (movingobjectposition1 != null) {
                    double d1 = vec3.distanceTo(movingobjectposition1.hitVec);

                    if (d1 < d0 || d0 == 0.0D) {
                    entity = entity1;
                    d0 = d1;
                    }
                    }
                    }
                    }

                    if (entity != null) {
                    movingobjectposition = new MovingObjectPosition(entity);
                    }

                    if (movingobjectposition != null) {
                    this.onImpact(movingobjectposition);
                    }

                    this.posX += this.motionX;
                    this.posZ += this.motionZ;

                    float f2 = 1.0F;

                    if (this.isInWater()) {
                    for (int j = 0; j < 4; ++j) {
                    float f3 = 0.25F;
                    this.worldObj.spawnParticle(“bubble”, this.posX, this.posY, this.posZ, this.motionX, this.motionY,
                    this.motionZ);
                    }

                    f2 = 0.8F;
                    }
                    this.motionX *= (double) f2;
                    this.motionZ *= (double) f2;
                    this.worldObj.spawnParticle(“explode”, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
                    this.setPosition(this.posX, this.posY, this.posZ);
                    }
                    }
                    }

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

                      Ok le code ne marche toujours pas malgré toutes les aides reçues et le message println “…” n’est pas pas dans les logs donc il y a un problème : ```java
                      package fr.freshblock.freshrocket.entity.projectile;

                      import java.util.List;

                      import cpw.mods.fml.common.Loader;
                      import cpw.mods.fml.common.network.handshake.FMLHandshakeMessage.ModIdData;
                      import cpw.mods.fml.common.registry.EntityRegistry;
                      import cpw.mods.fml.common.registry.GameRegistry;
                      import cpw.mods.fml.relauncher.Side;
                      import cpw.mods.fml.relauncher.SideOnly;
                      import net.minecraft.block.Block;
                      import net.minecraft.block.material.Material;
                      import net.minecraft.enchantment.EnchantmentHelper;
                      import net.minecraft.entity.Entity;
                      import net.minecraft.entity.EntityLivingBase;
                      import net.minecraft.entity.IProjectile;
                      import net.minecraft.entity.monster.EntityBlaze;
                      import net.minecraft.entity.monster.EntityEnderman;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.entity.player.EntityPlayerMP;
                      import net.minecraft.entity.projectile.EntityThrowable;
                      import net.minecraft.init.Blocks;
                      import net.minecraft.nbt.NBTTagCompound;
                      import net.minecraft.nbt.NBTTagList;
                      import net.minecraft.network.play.server.S2BPacketChangeGameState;
                      import net.minecraft.util.AxisAlignedBB;
                      import net.minecraft.util.DamageSource;
                      import net.minecraft.util.IProgressUpdate;
                      import net.minecraft.util.MathHelper;
                      import net.minecraft.util.MovingObjectPosition;
                      import net.minecraft.util.Vec3;
                      import net.minecraft.util.MovingObjectPosition.MovingObjectType;
                      import net.minecraft.world.Explosion;
                      import net.minecraft.world.World;
                      import net.minecraftforge.client.gui.ForgeGuiFactory.ForgeConfigGui.ModIDEntry;

                      public class EntityFreshRocket extends Entity implements IProjectile {

                      private Block inTile;
                      private int ticksAlive;
                      private int inData;
                      private boolean inGround;
                      public int arrowShake;
                      public Entity shootingEntity;
                      private int ticksInGround;
                      private int ticksInAir;
                      private double damage = 6.0D;
                      private int knockbackStrength;
                      public int canBePickedUp;
                      private int field_145795_e = -1;
                      private int field_145793_f = -1;
                      private int field_145794_g = -1;

                      @Override
                      protected void entityInit() {

                      }

                      @Override
                      protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {

                      }

                      @Override
                      protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {

                      }

                      public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_,
                      float p_70186_8_) {
                      float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_);
                      p_70186_1_ /= (double) f2;
                      p_70186_3_ /= (double) f2;
                      p_70186_5_ /= (double) f2;
                      p_70186_1_ *= (double) p_70186_7_;
                      p_70186_3_ *= (double) p_70186_7_;
                      p_70186_5_ *= (double) p_70186_7_;
                      this.motionX = p_70186_1_;
                      this.motionY = p_70186_3_;
                      this.motionZ = p_70186_5_;
                      this.ticksInGround = 0;
                      this.worldObj.playSound(5D, 5D, 5D, “random.fizz”, distanceWalkedModified, distanceWalkedModified, true);
                      }

                      public EntityFreshRocket(World worldIn) {
                      super(worldIn);
                      this.setSize(0.5F, 0.5F);
                      this.renderDistanceWeight = 10.0D;
                      }

                      public EntityFreshRocket(World worldIn, double x, double y, double z) {
                      super(worldIn);
                      this.setSize(0.5F, 0.5F);
                      this.setPosition(x, y, z);
                      this.renderDistanceWeight = 10.0D;
                      this.yOffset = 0.0F;
                      }

                      @SideOnly(Side.CLIENT)
                      public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_,
                      float p_70056_8_, int p_70056_9_) {
                      this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_);
                      this.setRotation(p_70056_7_, p_70056_8_);
                      }

                      @SideOnly(Side.CLIENT)
                      public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) {
                      this.motionX = p_70016_1_;
                      this.motionY = p_70016_3_;
                      this.motionZ = p_70016_5_;

                      if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) {
                      float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_);
                      this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI);
                      this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(p_70016_3_, (double) f) * 180.0D
                      / Math.PI);
                      this.prevRotationPitch = this.rotationPitch;
                      this.prevRotationYaw = this.rotationYaw;
                      this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                      this.ticksInGround = 0;
                      }
                      }

                      protected void onImpact(MovingObjectPosition movingObjectPosition) 
                      {    
                         if (this.worldObj.getBlock((movingObjectPosition.blockX), (movingObjectPosition.blockY), (movingObjectPosition.blockZ)) == Blocks.obsidian) 
                      {
                          for (int x = -1; x < 1; x++)
                          for (int y = -1; y < 1; y++)
                          for (int z = -1; z < 2; z++)
                          this.worldObj.setBlockToAir(movingObjectPosition.blockX + x,movingObjectPosition.blockY + y,movingObjectPosition.blockZ + z);

                      Block f = null;

                      if(Loader.isModLoaded(“TeNNoX_KeyAndCodeLock”))
                          f = GameRegistry.findBlock(“TeNNoX_KeyAndCodeLock”, “keylockeddoor”);
                          else
                          System.out.println(“L’utilisateur n’a pas le mod contenant le block.”);

                      if (this.worldObj.getBlock((movingObjectPosition.blockX), (movingObjectPosition.blockY), (movingObjectPosition.blockZ)) == f)
                      {
                      for (int x = -1; x < 1; x++)
                          for (int y = -1; y < 1; y++)
                          for (int z = -1; z < 2; z++)
                          this.worldObj.setBlockToAir(movingObjectPosition.blockX + x,movingObjectPosition.blockY + y,movingObjectPosition.blockZ + z);
                      }
                      }

                      if (movingObjectPosition.typeOfHit == MovingObjectType.BLOCK) 
                      {
                      switch (movingObjectPosition.sideHit) 
                      {
                      case 0:
                      movingObjectPosition.blockY–;
                      case 1:
                      movingObjectPosition.blockY++;
                      break;
                      case 2:
                      movingObjectPosition.blockZ–;
                      break;
                      case 3:
                      movingObjectPosition.blockZ++;
                      break;
                      case 4: // NORTH
                      movingObjectPosition.blockX–;
                      break;
                      case 5: // SOUTH
                      movingObjectPosition.blockX++;
                      break;
                      }

                      this.worldObj.spawnParticle(“largeexplode”, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);

                      this.setDead();
                      }
                      if (!this.worldObj.isRemote) 
                      {
                      this.worldObj.newExplosion(this, movingObjectPosition.blockX, movingObjectPosition.blockY, movingObjectPosition.blockZ, 2F, false, true);
                      }
                      }

                      public void onUpdate() 
                      {
                      if (this.ticksInAir == 12
                      || !this.worldObj.isRemote && (this.shootingEntity != null && this.shootingEntity.isDead
                      || !this.worldObj.blockExists((int) this.posX, (int) this.posY, (int) this.posZ))) {
                      this.setDead();
                      } else {
                      super.onUpdate();

                      if (this.inGround) {
                      if (this.worldObj.getBlock(this.field_145795_e, this.field_145793_f,
                      this.field_145794_g) == this.inTile) {
                      ++this.ticksAlive;

                      if (this.ticksAlive == 600) {
                      this.setDead();
                      }

                      return;
                      }

                      this.inGround = false;
                      this.ticksAlive = 0;
                      this.ticksInAir = 0;
                      } else {
                      ++this.ticksInAir;
                      }

                      Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
                      Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
                      this.posZ + this.motionZ);
                      MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31);
                      vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
                      vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
                      this.posZ + this.motionZ);

                      if (movingobjectposition != null) {
                      vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord,
                      movingobjectposition.hitVec.zCoord);
                      }

                      Entity entity = null;
                      List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,
                      this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
                      double d0 = 0.0D;

                      for (int i = 0; i < list.size(); ++i) {
                      Entity entity1 = (Entity) list.get(i);

                      if (entity1.canBeCollidedWith()
                      && (!entity1.isEntityEqual(this.shootingEntity) || this.ticksInAir >= 25)) {
                      float f = 0.3F;
                      AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f);
                      MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31);

                      if (movingobjectposition1 != null) {
                      double d1 = vec3.distanceTo(movingobjectposition1.hitVec);

                      if (d1 < d0 || d0 == 0.0D) {
                      entity = entity1;
                      d0 = d1;
                      }
                      }
                      }
                      }

                      if (entity != null) {
                      movingobjectposition = new MovingObjectPosition(entity);
                      }

                      if (movingobjectposition != null) {
                      this.onImpact(movingobjectposition);
                      }

                      this.posX += this.motionX;
                      this.posZ += this.motionZ;

                      float f2 = 1.0F;

                      if (this.isInWater()) {
                      for (int j = 0; j < 4; ++j) {
                      float f3 = 0.25F;
                      this.worldObj.spawnParticle(“bubble”, this.posX, this.posY, this.posZ, this.motionX, this.motionY,
                      this.motionZ);
                      }

                      f2 = 0.8F;
                      }
                      this.motionX *= (double) f2;
                      this.motionZ *= (double) f2;
                      this.worldObj.spawnParticle(“explode”, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
                      this.setPosition(this.posX, this.posY, this.posZ);
                      }
                      }
                      }

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

                        Déjà est-ce que ta condition est valide ? (Ton projectile est dans l’obsidienne à l’impact)
                        Fort peu probable. Nésite pas à, dans éclipse, sélectionner ton onImpact et faire CTRL+I pour mieux comprendre.

                        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
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB