MFF

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

    Porte

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    65 Messages 8 Publieurs 13.2k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Tu n’as pas mis correctement la texture : minecraft:textures/items/modnovaminespruce.png il cherche dans le dossier assets/minecraft au lieu de assets/tonmodid

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

        package fr.minecraftforgefrance.novamine.common;
        
        import net.minecraft.block.Block;
        import net.minecraft.block.material.Material;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.init.Blocks;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.util.MathHelper;
        import net.minecraft.world.World;
        
        public class ItemPorte extends Item
        {
        
        public ItemPorte()
        {
        this.maxStackSize = 1;
        this.setCreativeTab(CreativeTabs.tabBlock);
        }
        
        public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
        {
        if(side != 1)
        {
        return false;
        }
        else
        {
        ++y;
        Block block = ModNovamine.porte;
        
        if(player.canPlayerEdit(x, y, z, side, itemStack) && player.canPlayerEdit(x, y + 1, z, side, itemStack))
        {
        if(!block.canPlaceBlockAt(world, x, y, z))
        {
        return false;
        }
        else
        {
        int i1 = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
        placeDoorBlock(world, x, y, z, i1, block);
        –itemStack.stackSize;
        return true;
        }
        }
        else
        {
        return false;
        }
        }
        }
        
        public static void placeDoorBlock(World world, int x, int y, int z, int side, Block block)
        {
        byte b0 = 0;
        byte b1 = 0;
        
        if(side == 0)
        {
        b1 = 1;
        }
        
        if(side == 1)
        {
        b0 = -1;
        }
        
        if(side == 2)
        {
        b1 = -1;
        }
        
        if(side == 3)
        {
        b0 = 1;
        }
        
        int i1 = (world.getBlock(x - b0, y, z - b1).isNormalCube() ? 1 : 0) + (world.getBlock(x - b0, y + 1, z - b1).isNormalCube() ? 1 : 0);
        int j1 = (world.getBlock(x + b0, y, z + b1).isNormalCube() ? 1 : 0) + (world.getBlock(x + b0, y + 1, z + b1).isNormalCube() ? 1 : 0);
        boolean flag = world.getBlock(x - b0, y, z - b1) == block || world.getBlock(x - b0, y + 1, z - b1) == block;
        boolean flag1 = world.getBlock(x + b0, y, z + b1) == block || world.getBlock(x + b0, y + 1, z + b1) == block;
        boolean flag2 = false;
        
        if(flag && !flag1)
        {
        flag2 = true;
        }
        else if(j1 > i1)
        {
        flag2 = true;
        }
        
        world.setBlock(x, y, z, block, side, 2);
        world.setBlock(x, y + 1, z, block, 8 | (flag2 ? 1 : 0), 2);
        world.notifyBlocksOfNeighborChange(x, y, z, block);
        world.notifyBlocksOfNeighborChange(x, y + 1, z, block);
        }
        }
        
        

        et

        
        package fr.minecraftforgefrance.novamine.common;
        
        import java.util.Random;
        
        import net.minecraft.block.BlockDoor;
        import net.minecraft.block.material.Material;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.init.Blocks;
        import net.minecraft.item.Item;
        import net.minecraft.util.AxisAlignedBB;
        import net.minecraft.util.ChunkCoordinates;
        import net.minecraft.world.IBlockAccess;
        import net.minecraft.world.World;
        import cpw.mods.fml.relauncher.Side;
        import cpw.mods.fml.relauncher.SideOnly;
        
        public class Porte extends BlockDoor
        {
        
        public Porte()
        {
        super(Material.wood);
        this.setHardness(3.0F);
        this.setResistance(5.0F);
        this.disableStats();
        }
        
        @Override
        public Item getItemDropped(int par1, Random rand, int par3)
        {
        return ModNovamine.porteItem;
        }
        
        @Override
        @SideOnly(Side.CLIENT)
        public Item getItem(World world, int x, int y, int z)
        {
        return ModNovamine.porteItem;
        }
        
        @Override
        public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
        {
        int i1 = this.func_150012_g(world, x, y, z);
        int j1 = i1 & 7;
        j1 ^= 4;
        //ouvre la porte
        if ((i1 & 8) == 0)
        {
        world.setBlockMetadataWithNotify(x, y, z, j1, 2);
        world.markBlockRangeForRenderUpdate(x, y, z, x, y, z);
        }
        else
        {
        world.setBlockMetadataWithNotify(x, y - 1, z, j1, 2);
        world.markBlockRangeForRenderUpdate(x, y - 1, z, x, y, z);
        }
        //jouer le son
        world.playAuxSFXAtEntity(player, 1003, x, y, z, 0);
        
        return true;
        }
        }
        
        

        Je ne vois pas pourquoi il drop 2 item

        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

          Essayes d’ajouter cette fonction :

              public void onBlockHarvested(World world, int x, int y, int z, int metadata, EntityPlayer player)
              {
                  if (player.capabilities.isCreativeMode && (metadata & 8) != 0 && world.getBlock(x, y - 1, z) == this)
                  {
                      world.setBlockToAir(x, y - 1, z);
                  }
              }
          
          1 réponse Dernière réponse Répondre Citer 0
          • TheAzkazeT Hors-ligne
            TheAzkaze
            dernière édition par

            Sa n’a pas l’air de marcher

            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

              Retires la fonction que je t’ai donné alors.
              Le problème vient de la fonction getItemDropped
              Mets ça à la place de ce que tu as actuellement :

                 public Item getItemDropped(int metadata, Random rand, int fortune)
                 {
                     return (metadata & 8) != 0 ? null : ModNovamine.porteItem;
                 }
              
              1 réponse Dernière réponse Répondre Citer 0
              • TheAzkazeT Hors-ligne
                TheAzkaze
                dernière édition par

                Au merci robin4002
                et tu peut le passer en resolu

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

                  C’est à toi de le passer, les admins ne sont pas tes chiens.

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

                    @SCAREX Tu pourrais m’aider j’ai repris le code mais je voudrais que la porte soit comme une porte en fer quelle souvre avec de la redstone comment faire ??

                    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

                      Bonjour,
                      Il faut retirer la fonction onBlockActivated qui gère l’action du clic droit.

                      SCAREX ne s’est plus reconnecté sur le forum depuis plus d’un an, donc il ne pourra pas t’aider.

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

                        @robin4002 tu pourrais m’aidé jai un bug de texture j’ai voulue poster un demande mais je sait pas si elle a été accepter

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB