• Bonjour, je voudrais savoir comment faire une chose! Quand on casse un minerai il ne drope pas son bloc mais un items!

    Puis aussi, mais minerai se casse avec une pioche en fer ou en pierre, mais il se casse à la pioche en bois, je sais que sa se règle mais je sais pas comment! Je sais avec MCP mais avec forge…

    Merci d'avoir lu, j'espère un réponse rapide ^^!

  • Moddeurs confirmés Modérateurs

    pour le drop:

    
    public int idDropped(int par1, Random par2Random, int par3)
    {
    return TaClasseMain.TonBloc.blockid;
    }
    public int quantityDropped(Random par1Random)
    {
    return nombreDeLoot;
    }
    
    

  • Pour détruire ton minerai avec une certaine pioche :

    A la fin de la déclaration de ton item (TonMinerai = new TonMineraiClass etc…)

    .setHarvestLevel("pickaxe", harvest)
    

    Change harvest par un chiffre

    Rappel :
    0 = Pioche en bois et en or
    1 = Pioche en pierre
    2 = Pioche en fer
    3 = Pioche en diamant


  • Rebonjour, merci pour vos réponses! Cependant quand je rajoute .setHarvestLevel("pickaxe", 3) par exemple, cela me mets un erreur! Quand je la corrige et que je lance le jeu, crash…
    et isador, je mets le code ou? je suis un nouveau codeur forge, je code sous MCP pas forge normalement ^^!

  • Moddeurs confirmés Rédacteurs Administrateurs

    Dans la classe de ton bloc.

    Pour drop le bloc seulement avec certaines pioches en 1.6.4 il faut ajouter :
    MinecraftForge.setBlockHarvestLevel(bloc, metadata, toolClass, harvestLevel);
    Dans la fonction init de ta classe principale
    -> http://www.minecraftforgefrance.fr/showthread.php?tid=136


  • Oulà –' Merci robin4002, j'ai fait une grosse faute 😕


  • Je suis vraiment un noob 😢
    J'ai suivit le tutoriel a la lettre est ca ne fait rien 😢 Il n'y a vraiment rien de différent en 1.6.4?

  • Moddeurs confirmés

    En 1.6 :
    MinecraftForge.setBlockHarvestLevel(Block block, String toolClass, int tier);
    On utilise MinecraftForge

    En 1.7, on utilise la méthode setHarvestLevel présente dans la classe de ton bloc.


  • Oui, en gros dans ma classe principale je fou ça dans la fonction init:

    MinecraftForge.setBlockHarvestLevel(RubyOre, "Pickaxe", 2);
    ``` Pour que mon bloc se casse à la pioche en fer ?
    Je l'ai fait, mais cela ne marche pas ;(
  • Moddeurs confirmés Rédacteurs Administrateurs

    pickaxe sans P majuscule.


  • Merci, ça marche ENFIN! 🙂
    Maintenant je ne veux plus vous embêtez, mais il me reste le drops, je n'arrive pas à faire que le rubis me drop un rubis et non un bloc de rubis!

  • Moddeurs confirmés Rédacteurs Administrateurs

  • Moddeurs confirmés Rédacteurs Administrateurs

    Envoie à nouveau ton bloc + ta classe principale.


  • Pour le crash reports, c'est régler 🙂
    !

    Mais la! Le rubis ne me drop RIEN! 😞

  • Moddeurs confirmés Rédacteurs Administrateurs

    Envoie ton code …


  • 
    public int idDropped(int metadata, Random rand, int fortune)
    {
    if(metadata == 0 && rand.nextInt(5) > 3)
    {
    return GoldenMain.Ruby.itemID;
    }
    else if(metadata == 0)
    {
    return 0;
    }
    else
    {
    return this.blockID;
    }
    

    J'ai mis dans la classe du bloc!

  • Moddeurs confirmés Rédacteurs Administrateurs

    return 0; = pas de drop


  • –-- Minecraft Crash Report ----
    // Who set us up the TNT?

    Time: 17/07/14 18:42
    Description: Ticking memory connection

    java.lang.NullPointerException
    at goldenmod.Blocks.RubyOre.idDropped(RubyOre.java:23)
    at net.minecraft.block.Block.getBlockDropped(Block.java:1831)
    at net.minecraft.block.Block.dropBlockAsItemWithChance(Block.java:721)
    at net.minecraft.block.Block.dropBlockAsItem(Block.java:711)
    at net.minecraft.block.Block.harvestBlock(Block.java:1142)
    at net.minecraft.item.ItemInWorldManager.tryHarvestBlock(ItemInWorldManager.java:338)
    at net.minecraft.item.ItemInWorldManager.uncheckedTryHarvestBlock(ItemInWorldManager.java:238)
    at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:501)
    at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67)
    at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)
    at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141)
    at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54)
    at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
    at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

    A detailed walkthrough of the error, its code path and all known details is as follows:

    -- Head --
    Stacktrace:
    at goldenmod.Blocks.RubyOre.idDropped(RubyOre.java:23)
    at net.minecraft.block.Block.getBlockDropped(Block.java:1831)
    at net.minecraft.block.Block.dropBlockAsItemWithChance(Block.java:721)
    at net.minecraft.block.Block.dropBlockAsItem(Block.java:711)
    at net.minecraft.block.Block.harvestBlock(Block.java:1142)
    at net.minecraft.item.ItemInWorldManager.tryHarvestBlock(ItemInWorldManager.java:338)
    at net.minecraft.item.ItemInWorldManager.uncheckedTryHarvestBlock(ItemInWorldManager.java:238)
    at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:501)
    at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67)
    at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)
    at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141)

    -- Ticking connection --
    Details:
    Connection: net.minecraft.network.NetServerHandler@579ea8d
    Stacktrace:
    at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54)
    at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
    at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

    -- System Details --
    Details:
    Minecraft Version: 1.6.2
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.8.0_05, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 648068984 bytes (618 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 658 (36848 bytes; 0 MB) allocated, 490 (27440 bytes; 0 MB) used
    Suspicious classes: FML and Forge are installed
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v8.04 FML v6.2.62.871 Minecraft Forge 9.10.1.871 4 mods loaded, 4 mods active
    mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    FML{6.2.62.871} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    Forge{9.10.1.871} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    GF{1.0} [GoldenPack] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 152 (8512 bytes; 0 MB) allocated, 105 (5880 bytes; 0 MB) used
    Player Count: 1 / 8; [EntityPlayerMP['Player974'/32, l='New World', x=219,30, y=4,00, z=1781,80]]
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'fml,forge'

    public class RubyOre extends Block
    {
    
    public RubyOre(int id)
    {
    super(id, Material.rock);
    this.setCreativeTab(CreativeTabs.tabBlock);
    }
    public int idDropped(int metadata, Random rand, int fortune)
    {
    if(metadata == 0 && rand.nextInt(5) > 3)
    {
    return GoldenMain.Ruby.itemID;
    }
    else if(metadata == 0)
    {
    return 1;
    }
    else
    {
    return this.blockID;
    }
    }
    

    Le crash reports que ça me fait + la classe du bloc (sans le package) et les imports

  • Moddeurs confirmés Rédacteurs Administrateurs

    Sauf quand sans les packages et les importations les numéros de ligne sont faux, et ça aide pas.
    RubyOre.java:23
    la ligne 23 de RubyOre, c'est quoi ?


  • Non, mais ça sert à rien que tu les voient mais si tu veux…

    
    package goldenmod.Blocks;
    
    import goldenmod.GoldenMain;
    
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    
    public class RubyOre extends Block
    {
    
    public RubyOre(int id)
    {
    super(id, Material.rock);
    this.setCreativeTab(CreativeTabs.tabBlock);
    }
    public int idDropped(int metadata, Random rand, int fortune)
    {
    if(metadata == 0 && rand.nextInt(5) > 3)
    {
    return GoldenMain.Ruby.itemID;
    }
    else if(metadata == 0)
    {
    return 1;
    }
    else
    {
    return this.blockID;
    }
    }
    
    }
    

    Et à la ligne 23: ```java
    return GoldenMain.Ruby.itemID;

    
    Ou à la ligne 23 de l'autre c'est juste ça: }