MFF

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

    Test d'un effect quand on touche un fluid raté

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    5 Messages 4 Publieurs 1.4k 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.
    • FairyOneF Hors-ligne
      FairyOne
      dernière édition par

      Bonsoir désolé pour mon inactivité sais dernier temps j’ai u un gros problem de pc , Bref nous attardons pas la.

      j’ai donc crée un fluid et dans la class BlockFluid j’ai rajouté sa :
      :::
      public void onEntityCollidedWithBlock(World par1, int par2, int par3, EntityPlayer par4, Entity par5)

      {     
          par4.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 400, 0, true));
          }
      :::

      mais quand je vais sur mon liquide rien ne se passe .
      Donc si qu’elle qu’un serais comment faire merci .

      la class du block fluid :

      :::
      import net.minecraft.block.material.Material;

      import net.minecraft.client.renderer.texture.IIconRegister;
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.util.AxisAlignedBB;
      import net.minecraft.util.IIcon;
      import net.minecraft.world.IBlockAccess;
      import net.minecraft.world.World;
      import net.minecraftforge.fluids.BlockFluidClassic;
      import net.minecraftforge.fluids.Fluid;

      public class blockFuildMagic extends BlockFluidClassic
      {
          private IIcon stillIcon, flowingIcon;

      public blockFuildMagic(Fluid fluid, Material material)
          {
              super(fluid, material);
          }

      public IIcon getIcon(int side, int meta)
          {
              return (side == 0 || side == 1) ? stillIcon : flowingIcon;
          }

      public void registerBlockIcons(IIconRegister register)
          {
              stillIcon = register.registerIcon(“ModAnaxia:magic_fluid_still”);
              flowingIcon = register.registerIcon(“ModAnaxia:magic_fluid_flow”);
          }

      public boolean canDisplace(IBlockAccess world, int x, int y, int z)
          {
              if(world.getBlock(x, y, z).getMaterial().isLiquid())
              {
                  return false;
              }
              return super.canDisplace(world, x, y, z);
          }

      public boolean displaceIfPossible(World world, int x, int y, int z)
          {
              if(world.getBlock(x, y, z).getMaterial().isLiquid())
              {
                  return false;
              }
              return super.displaceIfPossible(world, x, y, z);
          }
          public void onEntityCollidedWithBlock(World par1, int par2, int par3, EntityPlayer par4, Entity par5)
          {     
          par4.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 400, 0, true));
          }
       }
      :::

      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

        Parce que tu as les mauvais argument. La bonne fonction est :
            public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity)
        Et comme la fonction entity n’a pas la fonction addPotionEffect, il faut passer par un instanceof et un cast de EntityLivingBase :
        https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/blocks/BlockLiquidNitrogen.java#L79-L86

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

          Pour les problèmes d’arguments je vous conseille de faire Alt + shift + s puis “override or implement methods” ce qui vous empêchera de vous tromper d’argument.

          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
          • FairyOneF Hors-ligne
            FairyOne
            dernière édition par

            merci sa marche niquel !
            Bonne soirée

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

              si c’est resolu passe le en RESOLU que quelqu’un le deplace

              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