MFF

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

    Customiser votre bloc

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    69 Messages 17 Publieurs 24.0k Vues 3 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.
    • J Hors-ligne
      jeje78660
      dernière édition par

      La 1.6.4, elle change beaucoup sur forge ?

      1 réponse Dernière réponse Répondre Citer 0
      • Superloup10S Hors-ligne
        Superloup10 Modérateurs
        dernière édition par

        Juste un changement au niveau de la génération des structures, mais tu auras plus de chances de réussir à passer en 1.7.

        Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

          Ok lol, bah je passe en 1.6.4 mais je sais pas si sa reglera le problème

          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

            public void updateEntity()
            {
            if(this.enable)
            {
            if(!this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) || this.worldObj.getBlockPowerInput(this.xCoord, this.yCoord, this.zCoord) <= 8)
            {
            this.enable = false;
            world.markBlockForUpdate(x, y, z);
            }
            }
            else
            {
            if(this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) && this.worldObj.getBlockPowerInput(this.xCoord, this.yCoord, this.zCoord) > 8)
            {
            this.enable = true;
            world.markBlockForUpdate(x, y, z);
            }
            }
            }
            

            Utilise plutôt ça, avec l’autre fonction que je t’ai donné ça envoyait pas un update du rendu.

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

              Lol mon eclipse adore les erreurs, il m’en met sur world, x, y et z

              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

                Heu non, c’est pas ton eclipse qui adore les erreurs, c’est moi qui t’envoie des codes que je tape directement sur le forum x)
                this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);

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

                  Sa ne marche pas, le bloc ne change pas de texture. je ne sais pas pourquoi.
                  BlockLedVerte:

                  package Assabody.mod;
                  
                  import java.util.Random;
                  
                  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.client.renderer.texture.IconRegister;
                  import net.minecraft.creativetab.CreativeTabs;
                  import net.minecraft.tileentity.TileEntity;
                  import net.minecraft.util.Icon;
                  import net.minecraft.world.IBlockAccess;
                  import net.minecraft.world.World;
                  
                  public class BlockLedVerte extends Block{
                  private Icon iconDark;
                  private Icon iconGreen;
                  
                  public BlockLedVerte(int par1)
                  {
                  super(par1, Material.rock);
                  this.setCreativeTab(ModAssabody.AssabodyCreativeTabs);
                  }
                  
                  public void registerIcons(IconRegister iconRegister)
                  {
                  iconDark = iconRegister.registerIcon("mod-assabody:led_led_verte_on");
                  iconGreen = iconRegister.registerIcon("mod-assabody:led_led_verte_off");
                  }
                  
                  @Override
                  public TileEntity createTileEntity(World world, int metadata)
                  {
                  return new TileEntityLedVerte();
                  }
                  
                  @SideOnly(Side.CLIENT)
                  public Icon getBlockTexture(IBlockAccess blockaccess, int x, int y, int z, int side)
                  {
                  TileEntity te = blockaccess.getBlockTileEntity(x, y, z);
                  if(te != null && te instanceof TileEntityLedVerte)
                  {
                  TileEntityLedVerte tetuto = (TileEntityLedVerte)te;
                  return tetuto.isEnable() ? this.iconGreen : this.iconDark;
                  }
                  return this.getIcon(side, blockaccess.getBlockMetadata(x, y, z));
                  }
                  public boolean hasTileEntity(int metadata)
                  {
                  return true;
                  }
                  
                  public void onNeighborBlockChange(World world, int x, int y, int z, int neighborblockid, World par1World, int par2, int par3, int par4)
                  {
                  if(world.isBlockIndirectlyGettingPowered(x, y, z) && world.getBlockPowerInput(x, y, z) > 8)
                  {
                  }
                  }
                  
                  public int idDropped(int par1, Random par2Random, int par3)
                  {
                  return this.blockID;
                  }
                  
                  public boolean renderAsNormalBlock()
                  {
                  return true;
                  }
                  
                  public boolean isOpaqueCube()
                  {
                  return false;
                  }
                  }
                  
                  

                  TileEntityLedVerte:

                  package Assabody.mod;
                  
                  import net.minecraft.nbt.NBTTagCompound;
                  import net.minecraft.network.INetworkManager;
                  import net.minecraft.network.packet.Packet;
                  import net.minecraft.network.packet.Packet132TileEntityData;
                  import net.minecraft.tileentity.TileEntity;
                  
                  public class TileEntityLedVerte extends TileEntity
                  {
                  private boolean enable;
                  
                  public void updateEntity()
                  {
                  if(this.enable)
                  {
                  if(!this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) || this.worldObj.getBlockPowerInput(this.xCoord, this.yCoord, this.zCoord) <= 8)
                  {
                  this.enable = false;
                  this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); }
                  }
                  else
                  {
                  if(this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord) && this.worldObj.getBlockPowerInput(this.xCoord, this.yCoord, this.zCoord) > 8)
                  {
                  this.enable = true;
                  this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); }
                  }
                  }
                  
                  public boolean isEnable()
                  {
                  return enable;
                  }
                  
                  public Packet getDescriptionPacket()
                  {
                  NBTTagCompound nbttagcompound = new NBTTagCompound();
                  this.writeToNBT(nbttagcompound);
                  return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
                  }
                  
                  public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt)
                  {
                  this.readFromNBT(pkt.customParam1);
                  }
                  public void readFromNBT(NBTTagCompound nbtTag)
                  {
                  super.readFromNBT(nbtTag);
                  enable = nbtTag.getBoolean("enable");
                  }
                  
                  public void writeToNBT(NBTTagCompound nbtTag)
                  {
                  super.writeToNBT(nbtTag);
                  nbtTag.setBoolean("enable", enable);
                  }
                  }
                  
                  

                  Déclaration dans la classe principale :

                  Block BlockLedVerte = new BlockLedVerte(2004);
                  GameRegistry.registerBlock(BlockLedVerte, "BlockLedVerte");
                  
                  
                  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

                    bloc :

                    package tutoriel.common;
                    
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.client.renderer.texture.IconRegister;
                    import net.minecraft.tileentity.TileEntity;
                    import net.minecraft.util.Icon;
                    import net.minecraft.world.IBlockAccess;
                    import net.minecraft.world.World;
                    import cpw.mods.fml.relauncher.Side;
                    import cpw.mods.fml.relauncher.SideOnly;
                    
                    public class BlockLed extends Block
                    {
                    private Icon iconDark;
                    private Icon iconGreen;
                    
                    public BlockLed(int id)
                    {
                    super(id, Material.rock);
                    }
                    
                    public void registerIcons(IconRegister iconRegister)
                    {
                    iconDark = iconRegister.registerIcon("stone");
                    iconGreen = iconRegister.registerIcon("glass");
                    }
                    
                    @Override
                    public TileEntity createTileEntity(World world, int metadata)
                    {
                    return new TileEntityLedVerte();
                    }
                    
                    @SideOnly(Side.CLIENT)
                    @Override
                    public Icon getBlockTexture(IBlockAccess blockaccess, int x, int y, int z, int side)
                    {
                    TileEntity te = blockaccess.getBlockTileEntity(x, y, z);
                    if(te != null && te instanceof TileEntityLedVerte)
                    {
                    TileEntityLedVerte tetuto = (TileEntityLedVerte)te;
                    return tetuto.isEnable() ? this.iconGreen : this.iconDark;
                    }
                    return this.getIcon(side, blockaccess.getBlockMetadata(x, y, z));
                    }
                    
                    public boolean hasTileEntity(int metadata)
                    {
                    return true;
                    }
                    
                    @Override
                    public void onNeighborBlockChange(World world, int x, int y, int z, int neighborblockid)
                    {
                    if(!world.isRemote)
                    {
                    TileEntity te = world.getBlockTileEntity(x, y, z);
                    if( && te != null && te instanceof TileEntityLedVerte)
                    {
                    TileEntityLedVerte tetuto = (TileEntityLedVerte)te;
                    if(world.getBlockPowerInput(x, y, z) > 8 || world.getBlockPowerInput(x, y + 1, z) > 8)
                    {
                    tetuto.setEnable(true);
                    }
                    else
                    {
                    tetuto.setEnable(false);
                    }
                    }
                    }
                    }
                    }
                    

                    Tile entity :

                    package tutoriel.common;
                    
                    import net.minecraft.nbt.NBTTagCompound;
                    import net.minecraft.network.INetworkManager;
                    import net.minecraft.network.packet.Packet;
                    import net.minecraft.network.packet.Packet132TileEntityData;
                    import net.minecraft.tileentity.TileEntity;
                    
                    public class TileEntityLedVerte extends TileEntity
                    {
                    private boolean enable;
                    
                    public void setEnable(boolean b)
                    {
                    enable = b;
                    this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
                    }
                    
                    public boolean isEnable()
                    {
                    return enable;
                    }
                    
                    public Packet getDescriptionPacket()
                    {
                    NBTTagCompound nbttagcompound = new NBTTagCompound();
                    this.writeToNBT(nbttagcompound);
                    return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
                    }
                    
                    public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt)
                    {
                    this.readFromNBT(pkt.customParam1);
                    }
                    
                    public void readFromNBT(NBTTagCompound nbtTag)
                    {
                    super.readFromNBT(nbtTag);
                    enable = nbtTag.getBoolean("enable");
                    }
                    
                    public void writeToNBT(NBTTagCompound nbtTag)
                    {
                    super.writeToNBT(nbtTag);
                    nbtTag.setBoolean("enable", enable);
                    }
                    }
                    

                    Cette fois si j’ai fais les tests, ça fonctionne.
                    En revanche la fonction world.getBlockPowerInput(x, y, z) > 8 ne fonctionne que si tu as une poudre de redstone à côté, si tu mets une torche ça ne marchera pas.

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

                      Ok merci beaucoup pour ton aide, je teste sa tout de suite___
                      MERCI BEAUCOUP 😃
                      Sa marche !
                      Je vais enfin pouvoir finir ma salle de concert !!!

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

                        Bonjour. est-ce qu’il y a une fonction pour empêcher que mon bloc puisse être poussé par un piston ? J’ai déjà regardé dans la class Block, et je n’ai rien trouvé. 😕

                        1 réponse Dernière réponse Répondre Citer 0
                        • Superloup10S Hors-ligne
                          Superloup10 Modérateurs
                          dernière édition par

                          En regardant dans le code du piston, on trouve :

                          private static boolean canPushBlock(int par0, World par1World, int par2, int par3, int par4, boolean par5)
                          {
                          if (par0 == Block.obsidian.blockID)
                          {
                          return false;
                          }
                          

                          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                            public int getMobilityFlag(){ return X; }
                            

                            X = 0 (laisse le bloc être poussé par un piston) ou 1 (droppe le bloc lorsqu’il est poussé) ou 2 (Le bloc ne peut pas être poussé par un piston).

                            1 réponse Dernière réponse Répondre Citer 1
                            • robin4002R Hors-ligne
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                              dernière édition par

                              +1 pour TheCreeper999, il te suffit de mettre cette fonction dans la classe du bloc alors qu’avec la réponse de Superloup10 tu aurai eu besoin de modifier la classe du piston.

                              1 réponse Dernière réponse Répondre Citer 0
                              • Superloup10S Hors-ligne
                                Superloup10 Modérateurs
                                dernière édition par

                                A ma décharge, je n’ai pas regardé en détail comment le piston déplaçait les blocs, mais je me doutais qu’il y avait une fonction beaucoup plus simple.

                                Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                  Merci beaucoup 🙂 j’avais bien entendu regardé dans le code du piston. sauf que bien évidement, je ne touche pas aux class existantes, et que j’ai déjà tâtonné un peu du côté des event sans pour autant trouver quelque chose d’intéressant. Cette fonction est tout de même bien plus simple 😄

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

                                    J’aimerai savoir comment donner un effet de potion (speed) quand on marche sur un bloc, j’ai essayer avec ceci

                                    
                                    public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity){
                                    if(par5Entity instanceof EntityLiving){
                                    ((EntityLiving)par5Entity).addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(),200,10));
                                    }
                                    
                                    

                                    Mais sa ne marche pas, alors si vous pouvez m’aider se serai super merci d’avance___

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • kevin_68K Hors-ligne
                                      kevin_68 Moddeurs confirmés
                                      dernière édition par

                                      Je n’est jamais réussi à faire fontionner cette fonction donc j’utilise ça:

                                      
                                      public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
                                      {
                                      float var5 = 0.125F;
                                      return AxisAlignedBB.getAABBPool().getAABB((double)x - var5, (double)y - var5, (double)z - var5, (double)(x + 1) - var5, (double)((float)(y + 1) - var5), (double)(z + 1) - var5);
                                      }
                                      
                                      public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity)
                                      {
                                      if(entity instanceof EntityPlayer)
                                      {
                                      EntityPlayer player = (EntityPlayer)entity;
                                      player.addPotionEffect(new PotionEffect(Potion.confusion.id, 20, 10));
                                      player.addPotionEffect(new PotionEffect(Potion.blindness.id, 200, 10));
                                      player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200, 10));
                                      player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 200, 10));
                                      player.addPotionEffect(new PotionEffect(Potion.hunger.id, 200, 10));
                                      player.addPotionEffect(new PotionEffect(Potion.wither.id, 20, 10));
                                      }
                                      }
                                      


                                      Mettez à jours vers la dernière version stable (1.8.9 voir même…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • elias54E Hors-ligne
                                        elias54 Administrateurs
                                        dernière édition par

                                        @‘fireblade51’:

                                        J’aimerai savoir comment donner un effet de potion (speed) quand on marche sur un bloc, j’ai essayer avec ceci

                                        
                                        public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity){
                                        if(par5Entity instanceof EntityLiving){
                                        ((EntityLiving)par5Entity).addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(),200,10));
                                        }
                                        
                                        

                                        Mais sa ne marche pas, alors si vous pouvez m’aider se serai super merci d’avance___

                                        Quand tu es en créative apparemment ça ne marche pas.

                                        Mon site | GitHub

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

                                          Salut, j’ai une erreur sur pickaxe dans le code :

                                          MinecraftForge.setBlockHarvestLevel(blockore1, 0, pickaxe, 2);
                                          

                                          Classe principale entière :

                                          package alphis.common;
                                          
                                          import alphis.blocks.block1;
                                          import alphis.blocks.blockore1;
                                          import alphis.items.item1;
                                          import alphis.items.item2;
                                          import alphis.items.item3;
                                          import alphis.proxy.AlphisCommonProxy;
                                          import alphis.worldgen.WorldGeneratorCopper;
                                          import net.minecraft.block.Block;
                                          import net.minecraft.item.Item;
                                          import net.minecraftforge.common.MinecraftForge;
                                          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;
                                          import cpw.mods.fml.common.network.NetworkMod;
                                          import cpw.mods.fml.common.registry.GameRegistry;
                                          
                                          @Mod(modid = "AlphisMOD", name = "AlphisMOD", version = "1.0.0", acceptedMinecraftVersions = "[1.6.4,)")
                                          @NetworkMod(clientSideRequired = true, serverSideRequired = false)
                                          
                                          public class AlphisMOD
                                          {
                                          @SidedProxy(clientSide = "alphis.proxy.AlphisClientProxy", serverSide = "alphis.proxy.AlphisCommonProxy")
                                          public static AlphisCommonProxy proxy;
                                          
                                          @Instance("AlphisMOD")
                                          public static AlphisMOD instance;
                                          
                                          // Copper-Cuivre
                                          public static Block block1;
                                          public static Item item1;
                                          public static Block blockore1;
                                          
                                          // Sapphire-Saphir
                                          public static Block block2;
                                          public static Item item2;
                                          
                                          // Ruby-Rubis
                                          public static Block block3;
                                          public static Item item3;
                                          
                                          @EventHandler
                                          public void PreInit(FMLPreInitializationEvent event)
                                          {
                                          //Configuration
                                          
                                          //Blocks/Items - copper
                                          block1 = new block1(2001).setHardness(5.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("CopperBlock").setTextureName("alphismod:copper_block");
                                          item1 = new item1(10001).setUnlocalizedName("CopperIngot").setTextureName("alphismod:copper_ingot");
                                          blockore1 = new blockore1(2004).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("CopperOre").setTextureName("alphismod:copper_ore");
                                          
                                          //Blocks/Items - sapphire
                                          block2 = new alphis.blocks.block2(2002).setHardness(5.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("SapphireBlock").setTextureName("alphismod:sapphire_block");
                                          item2 = new item2(10002).setUnlocalizedName("Sapphire").setTextureName("alphismod:sapphire");
                                          
                                          //Blocks/Items - ruby
                                          block3 = new alphis.blocks.block3(2003).setHardness(5.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("RubyBlock").setTextureName("alphismod:ruby_block");
                                          item3 = new item3(10003).setUnlocalizedName("Ruby").setTextureName("alphismod:ruby");
                                          //Items
                                          
                                          //Achievements
                                          }
                                          
                                          @EventHandler
                                          public void Init(FMLInitializationEvent event)
                                          {
                                          //Registry
                                          GameRegistry.registerBlock(block1, "block1");
                                          GameRegistry.registerItem(item1, "item1", "AlphisMOD");
                                          GameRegistry.registerBlock(blockore1, "blockore1");
                                          GameRegistry.registerBlock(block2, "block2");
                                          GameRegistry.registerItem(item2, "item2", "AlphisMOD");
                                          GameRegistry.registerBlock(block3, "block3");
                                          GameRegistry.registerItem(item3, "item3", "AlphisMOD");
                                          
                                          //WorldGenerator
                                          GameRegistry.registerWorldGenerator(new WorldGeneratorCopper());
                                          
                                          //MinecraftForge
                                          MinecraftForge.setBlockHarvestLevel(blockore1, 0, pickaxe, 2);
                                          
                                          //Mobs
                                          
                                          //Render
                                          proxy.registerRender();
                                          //NetWork
                                          
                                          //Recipe
                                          
                                          }
                                          
                                          @EventHandler
                                          public void PostInit(FMLPostInitializationEvent event)
                                          {
                                          //Intégration avec les autres mods
                                          
                                          }
                                          }
                                          
                                          

                                          Bye !

                                          
                                          ~~~~~~~~&#x2F; Novice dans le modding forge !…
                                          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

                                            MinecraftForge.setBlockHarvestLevel(blockore1, 0, “pickaxe”, 2);

                                            1 réponse Dernière réponse Répondre Citer 1
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB