Résolu Conflit harvestLevel de block et support Looting
-
Bonjour.
J’ai un problème extrêmement nul. J’ai un block dont j’aimerais changer le harvestLevel. J’ai donc procédé comme suit :
Main class :
public void blockRegister() { conductoriteOre = new BlockConductoriteOre(Material.ground).setBlockName("ConductoriteOre").setBlockTextureName(VirtualCraft.MODID + ":conductoriteOre").setHardness(4F); GameRegistry.registerBlock(conductoriteOre, "conductorite_ore"); }
BlockConductoriteOre.java :
public class BlockConductoriteOre extends Block { protected BlockConductoriteOre(Material material) { super(material); this.setHarvestLevel("pickaxe", 3); } public Item getItemDropped(int par1, Random random, int par2) { return VirtualCraft.conductorite; } public int quantityDropped(Random random) { return 1; } public int quantityDroppedWithBonus(int fortune, Random random) { if(fortune > 2) { fortune -= 2; int j = random.nextInt(fortune + 2) - 1; if(j < 0) { j = 0; } return quantityDropped(random) * (j + 1); } else { return quantityDropped(random); } } }
Mais malheureusement, lorsque je suis en jeu, n’importe quel outil même la main permet de faire looter l’objet. J’en ai conclu que le problème venait du fait que j’ai mis quantityDropped sur 1 par défaut, dans le cadre du support pour l’enchantement Looting.
Cependant, je ne trouve pas d’alternative, malgré mes recherches.Pouvez-vous m’aider ?
Je vous remercie par avance. -
Tu as essayer de remplacer
Material.ground
En
Material.rock
?
-
OMG ça marche o.o
Merci beaucoup.
Par curiosité, est-ce que je peux connaitre la différence entre Material.ground et Material.rock ?
Merci d’avance. -
Material.ground, c’est pour les blocs cassables à la main ou à la pelle.
Material.rock, c’est pour les blocs cassables à la pioche. -
Merci pour l’aide !