Rebonjour,
Ayant pas mal codé entre hier et cet après-midi, me voilà de nouveau face à un conflit que je ne sais déceler :
Il repose sur la définition du level qui détermine la puissance minimale de l’outil pour récolter le bloc.
setHarvestLevel("outil",Level)
Lorsque que l’on choisit un niveau entre 0 et 3, la cohésion entre ce bloc personnalisé et les outils de différents types (or, fer, diamant) est correcte et respectée. Néanmoins, ayant produit un Material de niveau 4, en changeant la méthode comme ci-dessous :
setHarvestLevel("pickaxe",4)
La pioche de niveau 4 n’a aucune influence sur mon bloc, il en est de même pour les pioches de niveaux supérieurs ou inférieurs.
Ayant testé mon bloc avec un setHarvestLevel(“pickaxe”,3) auparavant, il est bien fonctionnel.
Voici la class entière de mon bloc :
package wwrp.Blocks;
import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
import wwrp.Common.Modwwrp;
import net.minecraft.block.material.Material;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
public class BlockwwrpetincellimeOre extends Block
{
public BlockwwrpetincellimeOre()
{
super(Material.rock);
setHarvestLevel("pickaxe",4);
this.setHardness(4.5F);
this.setStepSound(Block.soundTypeStone);
}
@Override
public int quantityDropped(int meta, int fortune, Random random)
{
return quantityDroppedWithBonus(fortune, random);
}
//If the block's drop is an item.
public Item getItemDropped(int metadata, Random random, int fortune) {
return wwrp.Common.Modwwrp.etincellime;
}
public int quantityDropped(Random random)
{
return 1;
}
public int quantityDroppedWithBonus(int fortune, Random random)
{
if (fortune > 0)
{
int j = random.nextInt(fortune + 2) - 1;
if (j < 0)
{
j = 0;
}
return quantityDropped(random) * (j + 1);
}
else
{
return quantityDropped(random);
}
}
}
}
Y a-t-il quelque chose que l’on doit modifier (dans un autre fichier) ?
Mille merci d’avance pour votre aide,
Nox’.