MFF

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

    Les dalles

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    36 Messages 13 Publieurs 15.8k Vues 2 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.
    • S Hors-ligne
      sevenno07
      dernière édition par

      Tu a fail ta balise war_machine :).
      Elle doive être comme sa:

      La dernière -> [/CODE_Java]
      La première -> [CODE_Java]

      Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

      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

        Juste java, c’est plus simple, en plus il y a même un bouton pour mettre du code java sur l’éditeur.
        Tes textures ont bien la transparence ?
        Sinon il faut mettre le renderAsNormalBlock sur false.

        1 réponse Dernière réponse Répondre Citer 0
        • war__machineW Hors-ligne
          war__machine
          dernière édition par robin4002

          sa marche pas et met texture son bien transparente les bloc et les escalier avec cette texture marche nickel y a que les dalle qui me donne du fils retordre. voila le code

          package modTutoriel.common;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          import java.util.List;
          import java.util.Random;
          
          import modTutoriel.common.modTutoriel;
          import net.minecraft.block.Block;
          import net.minecraft.block.BlockHalfSlab;
          import net.minecraft.block.material.Material;
          import net.minecraft.client.renderer.texture.IconRegister;
          import net.minecraft.creativetab.CreativeTabs;
          import net.minecraft.item.ItemStack;
          import net.minecraft.util.Icon;
          
          public class BlockSlabv0 extends BlockHalfSlab
          {
              /** The type of tree this slab came from. */
              public static final String[] woodType = new String[] {"v0", "p1", "birch", "jungle"};
          
              public BlockSlabv0(int par1, boolean par2)
              {
                  super(par1, par2, Material.glass);
                  this.setCreativeTab(CreativeTabs.tabBlock);
          
              }
          
              public boolean isOpaqueCube()
              {
                  return false;
              }
          
              public boolean renderAsNormalBlock()
              {
                  return false;
              }
          
              @SideOnly(Side.CLIENT)
          
              /**
               * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
               */
              public Icon getIcon(int par1, int par2)
              {
                  return modTutoriel.v0.getIcon(par1, par2 & 7);
              }
          
              /**
               * Returns the ID of the items to drop on destruction.
               */
              public int idDropped(int par1, Random par2Random, int par3)
              {
                  return modTutoriel.v0.blockID;
              }
          
              /**
               * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
               * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
               */
              protected ItemStack createStackedBlock(int par1)
              {
                  return new ItemStack(modTutoriel.v0.blockID, 2, par1 & 7);
              }
          
              /**
               * Returns the slab block name with step type.
               */
              public String getFullSlabName(int par1)
              {
                  if(par1 < 0 || par1 >= woodType.length)
                  {
                      par1 = 0;
                  }
          
                  return super.getUnlocalizedName() + "." + woodType[par1];
              }
          
              @SideOnly(Side.CLIENT)
          
              /**
               * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
               */
              public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
              {
                  if(par1 != modTutoriel.v0.blockID)
                  {
                      for(int j = 0; j < 1; ++j)
                      {
                          par3List.add(new ItemStack(par1, 1, j));
                      }
                  }
              }
          
              @SideOnly(Side.CLIENT)
          
              /**
               * When this method is called, your block should register all the icons it needs with the given IconRegister. This
               * is the only chance you get to register icons.
               */
              public void registerIcons(IconRegister par1IconRegister)
              {}
          
          }
          

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

            Tu as bien fais le ItemBlock qui va avec?

            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
            • war__machineW Hors-ligne
              war__machine
              dernière édition par robin4002

              voila le code du Itemblock (edit:jai formatée )

              package modTutoriel.common;
              
              import cpw.mods.fml.relauncher.Side;
              import cpw.mods.fml.relauncher.SideOnly;
              import net.minecraft.block.Block;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.item.ItemBlock;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.Icon;
              import net.minecraft.world.World;
              
              public class ItemBlockTutorialSlabv0 extends ItemBlock
              
              {
              
                  private final boolean isFullBlock;
                  private final Block theHalfSlab;
                  private final Block doubleSlab;
              
                  public ItemBlockTutorialSlabv0(int id)
                  {
                      super(id);
                      this.theHalfSlab = modTutoriel.v0SingleSlab;
                      this.doubleSlab = modTutoriel.v0DoubleSlab;
                      if(id - 256 == modTutoriel.v0DoubleSlab.blockID)
                      {
                          this.isFullBlock = true;
                      }
                      else
                      {
                          this.isFullBlock = false;
                      }
                      this.setMaxDamage(0);
                      this.setHasSubtypes(true);
                  }
              
                  @SideOnly(Side.CLIENT)
                  public Icon getIconFromDamage(int metadata)
                  {
                      return Block.blocksList[this.itemID].getIcon(2, metadata);
                  }
              
                  public int getMetadata(int metadata)
                  {
                      return metadata;
                  }
              
                  public String getUnlocalizedName(ItemStack stack)
                  {
                      return ((BlockSlabv0)theHalfSlab).getFullSlabName(stack.getItemDamage());
                  }
              
              public boolean onItemUse(ItemStack stack, EntityPlayer player, World world,
              int x, int y, int z, int side, float par8, float par9, float par10) {
              if (this.isFullBlock) {
              return super.onItemUse(stack, player, world, x, y, z, side, par8,
              par9, par10);
              } else if (stack.stackSize == 0) {
              return false;
              } else if (!player.canPlayerEdit(x, y, z, side, stack)) {
              return false;
              } else {
              int i1 = world.getBlockId(x, y, z);
              int j1 = world.getBlockMetadata(x, y, z);
              int k1 = j1 & 7;
              boolean flag = (j1 & 8) != 0;
              
              if ((side == 1 && !flag || side == 0 && flag)
              && i1 == this.theHalfSlab.blockID
              && k1 == stack.getItemDamage()) {
              if (world.checkNoEntityCollision(this.doubleSlab
              .getCollisionBoundingBoxFromPool(world, x, y, z))
              && world.setBlock(x, y, z, this.doubleSlab.blockID, k1,
              3)) {
              world.playSoundEffect(
              (double) ((float) x + 0.5F),
              (double) ((float) y + 0.5F),
              (double) ((float) z + 0.5F),
              this.doubleSlab.stepSound.getPlaceSound(),
              (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F,
              this.doubleSlab.stepSound.getPitch() * 0.8F);
              –stack.stackSize;
              }
              return true;
              } else {
              return this.placeDoubleSlabFromTop(stack, player, world, x, y,
              z, side) ? true : super.onItemUse(stack, player, world,
              x, y, z, side, par8, par9, par10);
              }
              }
              }
              
                  @SideOnly(Side.CLIENT)
                  public boolean canPlaceItemBlockOnSide(World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack)
                  {
                      int i1 = x;
                      int j1 = y;
                      int k1 = z;
                      int id = world.getBlockId(x, y, z);
                      int meta = world.getBlockMetadata(x, y, z);
                      int j2 = meta & 7;
                      boolean flag = (meta & 8) != 0;
              
                      if((side == 1 && !flag || side == 0 && flag) && id == this.theHalfSlab.blockID && j2 == stack.getItemDamage())
                      {
                          return true;
                      }
                      else
                      {
                          if(side == 0)
                          {
                              --y;
                          }
              
                          if(side == 1)
                          {
                              ++y;
                          }
              
                          if(side == 2)
                          {
                              --z;
                          }
              
                          if(side == 3)
                          {
                              ++z;
                          }
              
                          if(side == 4)
                          {
                              --x;
                          }
              
                          if(side == 5)
                          {
                              ++x;
                          }
              
                          id = world.getBlockId(x, y, z);
                          meta = world.getBlockMetadata(x, y, z);
                          j2 = meta & 7;
                          flag = (meta & 8) != 0;
                          return id == this.theHalfSlab.blockID && j2 == stack.getItemDamage() ? true : super.canPlaceItemBlockOnSide(world, i1, j1, k1, side, player, stack);
                      }
                  }
              
                  private boolean placeDoubleSlabFromTop(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side)
                  {
                      if(side == 0)
                      {
                          --y;
                      }
              
                      if(side == 1)
                      {
                          ++y;
                      }
              
                      if(side == 2)
                      {
                          --z;
                      }
              
                      if(side == 3)
                      {
                          ++z;
                      }
              
                      if(side == 4)
                      {
                          --x;
                      }
              
                      if(side == 5)
                      {
                          ++x;
                      }
              
                      int i1 = world.getBlockId(x, y, z);
                      int j1 = world.getBlockMetadata(x, y, z);
                      int k1 = j1 & 7;
              
                      if(i1 == this.theHalfSlab.blockID && k1 == stack.getItemDamage())
                      {
                          if(world.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(world, x, y, z)) && world.setBlock(x, y, z, this.doubleSlab.blockID, k1, 3))
                          {
                              world.playSoundEffect((double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F);
                              --stack.stackSize;
                          }
              
                          return true;
                      }
                      else
                      {
                          return false;
                      }
                  }
              
                  public boolean isOpaqueCube()
                  {
                      return false;
                  }
              
                  public boolean renderAsNormalBlock()
                  {
                      return false;
                  }
              }
              

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

                S’il te plaît, fait juste CTRL+Maj+F dans ton code, la c’est pas formaté, pas envie de le lire presque.

                "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                ― Jordan B. Peterson

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

                  Je tiens à dire que nous ne sommes pas obliger de créer une nouvelle classe item block:
                  Mettez:

                  public static BlockHalfSlab singleSlab, doubleSlab;
                  

                  A la place de:

                  public static Block singleSlab, doubleSlab;
                  

                  Et rajouter dans la partie Post Init:

                  Item.itemsList[singleSlab.blockID] = new ItemSlab(singleSlab.blockID-256,
                  (BlockHalfSlab)singleSlab, (BlockHalfSlab)doubleSlab, false);
                  

                  Et à la place de:

                  GameRegistry.registerBlock(singleSlab, ItemBlockSlab.class "doubleSlab");
                  GameRegistry.registerBlock(doubleSlab, ItemBlockSlab.class "doubleSlab");
                  

                  Mettez tout simplement:

                  GameRegistry.registerBlock(singleSlab, "singleSlab");
                  GameRegistry.registerBlock(doubleSlab, "doubleSlab");
                  
                  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

                    Oui, mais c’est une méthode vanilla, c’est pas bon pour l’itemTracker de FML. Logiquement dans les logs tu devrais avoir FML qui râle.

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

                      Possible de le up en 1.7.x ? :3

                      Aucune signature n'est disponible pour une barre chocolatée.

                      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

                        Quand j’aurai le temps, donc après le bac.

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

                          Je sais qu’on va dire que je répète la même chose que les autre mais vue que je pense que le bac est passer (a part si t’était en 1er et non terminal) possible de le UP en 1.7.10

                          Cordialement, le membre ayant le pseudo "ph1823"

                          Ma chaîne YouTube: https://www.youtube.com/c/ph1823
                          Mon Twitter : https://twitter.com/ph1823
                          Des jeux vidéo moin chers? Alors check ici : http://bit.ly/instaceph ou ici : http://bit.ly/g2aph

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

                            Je peux te fournir le code si tu le souhaites via skype 😃

                            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

                              Whaaa, faut que j’arrête de promettre des choses que je ne peux pas faire.
                              Sinon : http://www.minecraftforgefrance.fr/showthread.php?tid=788#classe3

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

                                ça marche en 1.7.10 ?

                                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

                                  En adaptant tout ce qui concerne les id de bloc, oui.

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

                                    @‘robin4002’:

                                    En adaptant tout ce qui concerne les id de bloc, oui.

                                    J’ai réussi à faire les dalles

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • K Hors-ligne
                                      kylian-1452
                                      dernière édition par

                                      Hello,
                                      C’est encore moi mais je vais pas être trop chiant cette fois… Concrètement, si je veux faire plus de 8 dalles, je dois avoir plusieurs class d’itemblockslab et de blockslab ou bien je n’ai pas très bien compris ?

                                      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 ça, il faudra plusieurs classes de blocs.

                                        1 réponse Dernière réponse Répondre Citer 1
                                        • K Hors-ligne
                                          kylian-1452
                                          dernière édition par

                                          Simple et super efficace comme tuto avec une réponse précise, merci !

                                          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