Résolu BlockInAnalyzer
-
Bonjour, dans mon mod je met des blocks “renforcer” c’est a dire que ces blocks ont les mêmes texture que les blocks normales etc et qu’ils ait donc les mêmes propriétés que l’obsidienne. Afin de faire pouvoir savoir quel block est renforcé ou pas : pour ceci j’ai fait ceci :
public class ExoniteBlock extends Block { public ExoniteBlock() { super(Material.iron); this.setHarvestLevel("pickaxe", 3); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ){ if(player.getHeldItem() != null && player.getHeldItem().getItem() == thecraft..blocksanalyser) { player.addChatMessage(new ChatComponentTranslation("§5Ce block n'est pas renforcé !")); } return blockConstructorCalled; } }
le problème ce ce système est que premièrrement il faut le mettre dans la class du tous mes blocs et dans un second que mon mod n’étant pas un core mod je ne peux pas modifier un bloc vanilla pour la stone brick non renforcé par exemple.
je me suis donc dit que je pourrais essayer avec un OnItemRightClick dans la class de mon item directement et afin de ne pas avoir à listé les blocs en fonction de celui sur le quel ont clique. Je me suis donc dit que je pourrais regarder les valeurs du harvest lvl demandé et la resistance sont celles de l’obsidienne mais je dois avoué que je ne vois pas trop comment faire. -
Salut,
Pourrais-tu réexpliquer ce que tu souhaites faire, j’ai l’impression qu’il manque des détails, bref ça ne parle pas vraiment. -
Pourquoi ne pas simplement faire que lors d’un clique droit sur tes blocs renforcées ça indique : “Ce bloc est renforcé” ?
Dans ce cas là tu n’aurai qu’à créer une classe de laquelle hériterai tout tes blocs et dans cette classe tu met l’affichage du message lors du clique droit -
onItemUse dans la classe de l’item et tu check que world.getBlock(x, y, z).getHardness() > à ce que tu veux.
Rien de compliqué.
-
Merci j’ai réussi robin