MFF

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

    Echelle plus rapide

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

      Bonjour, j’ai crée une nouvelle échelle dans mon mod voici le code:
      Cependant, comment je fait pour que l’on puisse monter l’échelle plus vite ?
      :::

      ​[font=Courier Newpackage ]com.plasmania.icenfire.blocks%(#cc7832)[;
      ]
      import com.plasmania.icenfire.IceNFire%(#cc7832)[;
      ]import cpw.mods.fml.relauncher.Side%(#cc7832)[;
      ]import cpw.mods.fml.relauncher.SideOnly%(#cc7832)[;
      ]import java.util.Random%(#cc7832)[;
      ]
      import net.minecraft.block.Block%(#cc7832)[;
      ]import net.minecraft.block.material.Material%(#cc7832)[;
      ]import net.minecraft.creativetab.CreativeTabs%(#cc7832)[;
      ]import net.minecraft.entity.EntityLivingBase%(#cc7832)[;
      ]import net.minecraft.init.Blocks%(#cc7832)[;
      ]import net.minecraft.util.AxisAlignedBB%(#cc7832)[;
      ]import net.minecraft.world.IBlockAccess%(#cc7832)[;
      ]import net.minecraft.world.World%(#cc7832)[;
      ]
      import net.minecraftforge.common.util.ForgeDirection%(#cc7832)[;
      ]import static net.minecraftforge.common.util.ForgeDirection.*%(#cc7832)[;
      ]
      %(#629755)[*/**
      *]%(#629755)[* * Created by PlasMania on 31/07/2015.
      *]%(#629755)[* */
      *]public class IronLadder extends Block {
         private static final String *__OBFID *= "CL_00000262"%(#cc7832)[;
      ]
          public IronLadder()
         {
             super(Material.*circuits*)%(#cc7832)[;
      ]        this.setCreativeTab(IceNFire.*iceNFireBlocks*)%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
      *]%(#629755)[*     * cleared to be reused)
      *]%(#629755)[*     */
      *]    public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
         {
             this.setBlockBoundsBasedOnState(world, x, y, z)%(#cc7832)[;
      ]        return super.getCollisionBoundingBoxFromPool(world, x, y, z)%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Updates the blocks bounds based on its current state. Args: world, x, y, z
      *]%(#629755)[*     */
      *]    public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z)
         {
             this.updateLadderBounds(iBlockAccess.getBlockMetadata(x, y, z))%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Returns the bounding box of the wired rectangular prism to render.
      *]%(#629755)[*     */
      *]    @SideOnly(Side.*CLIENT*)
         public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
         {
             this.setBlockBoundsBasedOnState(world, x, y, z)%(#cc7832)[;
      ]        return super.getSelectedBoundingBoxFromPool(world, x, y, z)%(#cc7832)[;
      ]    }
      
         public void updateLadderBounds(int i)
         {
             float f = 0.125F%(#cc7832)[;
      ]
              if (i == 2) {
                 this.setBlockBounds(0.0F, 0.0F, 1.0F - f, 1.0F, 1.0F, 1.0F)%(#cc7832)[;
      ]        }
      
             if (i == 3) {
                 this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f)%(#cc7832)[;
      ]        }
      
             if (i == 4) {
                 this.setBlockBounds(1.0F - f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F)%(#cc7832)[;
      ]        }
      
             if (i == 5) {
                 this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F)%(#cc7832)[;
      ]        }
         }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Is this block (a) opaque and (b) a full 1m cube?  This determines whether or not to render the shared face of two
      *]%(#629755)[*     * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
      *]%(#629755)[*     */
      *]    public boolean isOpaqueCube()
         {
             %(#cc7832)[return false;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
      *]%(#629755)[*     */
      *]    public boolean renderAsNormalBlock()
         {
             %(#cc7832)[return false;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * The type of render function that is called for this block
      *]%(#629755)[*     */
      *]    public int getRenderType()
         {
             return 8%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z
      *]%(#629755)[*     */
      *]    public boolean canPlaceBlockAt(World world, int x, int y, int z)
         {
             return world.isSideSolid(x - 1, y, z, *EAST*) ||
                     world.isSideSolid(x + 1, y, z, *WEST*) ||
                     world.isSideSolid(x, y, z - 1, *SOUTH*) ||
                     world.isSideSolid(x, y, z + 1, *NORTH*)%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
      *]%(#629755)[*     */
      *]    public int onBlockPlaced(World world, int x, int y, int z, int m, float i, float j, float k, int l)
         {
             int j1 = l%(#cc7832)[;
      ]
              if ((l == 0 || m == 2) && world.isSideSolid(x, y, z + 1, *NORTH*)) {
                 j1 = 2%(#cc7832)[;
      ]        }
      
             if ((j1 == 0 || m == 3) && world.isSideSolid(x, y, z - 1, *SOUTH*)) {
                 j1 = 3%(#cc7832)[;
      ]        }
      
             if ((j1 == 0 || m == 4) && world.isSideSolid(x + 1, y, z, *WEST*)) {
                 j1 = 4%(#cc7832)[;
      ]        }
      
             if ((j1 == 0 || m == 5) && world.isSideSolid(x - 1, y, z, *EAST*)) {
                 j1 = 5%(#cc7832)[;
      ]        }
      
             return j1%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
      *]%(#629755)[*     * their own) Args: x, y, z, neighbor Block
      *]%(#629755)[*     */
      *]    public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
         {
             int l = world.getBlockMetadata(x, y, z)%(#cc7832)[;
      ]        boolean flag = %(#cc7832)[false;
      ]
              if (l == 2 && world.isSideSolid(x, y, z + 1, *NORTH*)) {
                 flag = %(#cc7832)[true;
      ]        }
      
             if (l == 3 && world.isSideSolid(x, y, z - 1, *SOUTH*)) {
                 flag = %(#cc7832)[true;
      ]        }
      
             if (l == 4 && world.isSideSolid(x + 1, y, z, *WEST*)) {
                 flag = %(#cc7832)[true;
      ]        }
      
             if (l == 5 && world.isSideSolid(x - 1, y, z, *EAST*)) {
                 flag = %(#cc7832)[true;
      ]        }
      
             if (!flag) {
                 this.dropBlockAsItem(world, x, y, z, l, 0)%(#cc7832)[;
      ]            world.setBlockToAir(x, y, z)%(#cc7832)[;
      ]        }
      
             super.onNeighborBlockChange(world, x, y, z, block)%(#cc7832)[;
      ]    }
      
         %(#629755)[*/**
      *]%(#629755)[*     * Returns the quantity of items to drop on block destruction.
      *]%(#629755)[*     */
      *]    public int quantityDropped(Random rand)
         {
             return 1%(#cc7832)[;
      ]    }
      
         %(#bbb529)[@Override
      ]    public boolean isLadder(IBlockAccess iBlockAccess, int x, int y, int z, EntityLivingBase entityLivingBase)
         {
             %(#cc7832)[return true;
      ]    }
      }
      

      :::

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

        Salut
        Je pense qu’il suffit simplement d’augmenter la valeur f dans updateLadderBounds
        Je sais comment faire en 1.8, mais ne 1.7, c’est expérimental

        Membre fantôme
        Je développe maintenant un jeu sur UnrealEngine4


        Contact :…

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

          updateLadderBounds va modifié la hitbox et non la vitesse 😕

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

            applique un effet de speed quand le joueur st en collision avec l’échelle regarde dans le cactus la methode pour les degats et a la place des dégâts tu balance un potion de speed durant 1s

            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

              çà marchera pas : la vitesse n’influence pas sur le motion Y. En revanche le sujet a déjà été posé, fais une recherche sur le forum.

              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
              • Benjamin LoisonB Hors-ligne
                Benjamin Loison
                dernière édition par

                Salut,

                Tu peux suprimmer ligne 24 :

                ​%(#cc7832)[[font=Courier New]**private**] %(#7f0055)[**static**] %(#7f0055)[**final**] %(#000000)[[font=Courier New]String]%(#a9b7c6)[[font=Courier New] ]%(#9876aa)[[font=Courier New]*__OBFID ]*%(#666600)[[font=Courier New]=]%(#a9b7c6)[[font=Courier New] ]%(#6a8759)[[font=Courier New]"CL_00000262"]%(#cc7832)[[font=Courier New];]
                

                C’est en décompilant Minecraft qu’on a cette ligne de code… inutile…

                Et si tu n’a pas trouvé le sujet de l’autre personne qui avait le même problème :

                http://www.minecraftforgefrance.fr/showthread.php?tid=1977&highlight=échelle

                >! Développeur de Altis-Life (Arma III) sur Minecraft !
                >! Site web     : https://lemnoslife.com

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

                  Merci, si je l’ai trouver

                  1 réponse Dernière réponse Répondre Citer 0
                  • Benjamin LoisonB Hors-ligne
                    Benjamin Loison
                    dernière édition par

                    De rien 😉 et n’oublies pas la balise si ton problème est résolu 😄 sinon on est là 🙂

                    >! Développeur de Altis-Life (Arma III) sur Minecraft !
                    >! Site web     : https://lemnoslife.com

                    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