Non résolu Mes plantations ne poussent pas [1.7.10]
-
Bonjour ou Bonsoir,
Je revient vers encore pour un problème sur mes plantations de mon mod. Après avoir résolu un problème, un autre est apparu. C’est le faite que mes plantations ne poussent pas du tout, voici le code de mes plantations :
BlockCropsMod
import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fr.irisium.irisiummod.IrisiumMod; import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.block.IGrowable; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class BlockCropsMod extends BlockBush implements IGrowable { protected int maxGrowthStage = 7; @SideOnly(Side.CLIENT) protected IIcon[] iIcon; public BlockCropsMod() { setTickRandomly(true); float f = 0.5F; setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); setCreativeTab(IrisiumMod.IrisiumMod); setHardness(0.0F); setStepSound(soundTypeGrass); disableStats(); } @Override protected boolean canPlaceBlockOn(Block parBlock) { return parBlock == Blocks.farmland; } public void incrementGrowStage(World parWorld, Random parRand, int parX, int parY, int parZ) { int growStage = parWorld.getBlockMetadata(parX, parY, parZ) + MathHelper.getRandomIntegerInRange(parRand, 2, 5); if (growStage > maxGrowthStage) { growStage = maxGrowthStage; } parWorld.setBlockMetadataWithNotify(parX, parY, parZ, growStage, 2); } @Override public Item getItemDropped(int p_149650_1_, Random parRand, int parFortune) { return Item.getItemFromBlock(this); } @Override public int getRenderType() { return 1; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int parSide, int parGrowthStage) { return this.blockIcon; } public interface IGrowable { boolean func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_); boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_); void func_149853_b(World p_149853_1_, Random p_149853_2_, int p_149853_3_, int p_149853_4_, int p_149853_5_); } public boolean func_149851_a(World parWorld, int parX, int parY, int parZ, boolean p_149851_5_) { return parWorld.getBlockMetadata(parX, parY, parZ) != 7; } @Override public boolean func_149852_a(World p_149852_1_, Random parRand, int p_149852_3_, int p_149852_4_, int p_149852_5_) { return true; } @Override public void func_149853_b(World parWorld, Random parRand, int parX, int parY, int parZ) { incrementGrowStage(parWorld, parRand, parX, parY, parZ); } @Override public void updateTick(World parWorld, int parX, int parY, int parZ, Random parRand) { super.updateTick(parWorld, parX, parY, parZ, parRand); int growStage = parWorld.getBlockMetadata(parX, parY, parZ) + 1; if (growStage > 7) { growStage = 7; } parWorld.setBlockMetadataWithNotify(parX, parY, parZ, growStage, 2); } }
BlockSteelite
import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fr.irisium.irisiummod.init.ModItems; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; import net.minecraft.util.IIcon; public class BlockSteelite extends BlockCropsMod { public BlockSteelite() { setBlockName("steelite"); setBlockTextureName("irisiummod:steelite_stage_0"); } @Override public int quantityDropped(int parMetadata, int parFortune, Random parRand) { return (parMetadata/1); } @Override public Item getItemDropped(int parMetadata, Random parRand, int parFortune) { System.out.println("BlockSteelite getItemDropped()"); return (ModItems.essence_steelite); } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister parIIconRegister) { iIcon = new IIcon[maxGrowthStage+1]; iIcon[0] = parIIconRegister.registerIcon("irisiummod:steelite_stage_0"); iIcon[1] = parIIconRegister.registerIcon("irisiummod:steelite_stage_0"); iIcon[2] = parIIconRegister.registerIcon("irisiummod:steelite_stage_1"); iIcon[3] = parIIconRegister.registerIcon("irisiummod:steelite_stage_1"); iIcon[4] = parIIconRegister.registerIcon("irisiummod:steelite_stage_2"); iIcon[5] = parIIconRegister.registerIcon("irisiummod:steelite_stage_2"); iIcon[6] = parIIconRegister.registerIcon("irisiummod:steelite_stage_3"); iIcon[7] = parIIconRegister.registerIcon("irisiummod:steelite_stage_3"); } }
J’espère pouvoir trouver vite une réponse à mon problème.
Cordialement, Xemnys -
@Override @SideOnly(Side.CLIENT) public IIcon getIcon(int parSide, int parGrowthStage) { return this.blockIcon; }
c’est pas qu’elle ne pousse pas c’est qu’elle à toujours la même texture
-
Bonjour,
Comment remédier à cela afin que ce soit des textures différentes ?
Cordialement, Xemnys.
-
Tu crée un tableau avec tes textures et tu utilise parGrowthStage comment index
-
tu utilise ton iIcon quoi
-
Dans le tableau, je met le nom des textures ?
-
-
@Xemnys a dit dans Mes plantations ne poussent pas [1.7.10] :
interface IGrowable
D’ailleurs pourquoi tu a ta propre interface IGrowable dans ton code… ça sert à rien et ça sent le copier coller
-
@Wind_Blade a dit dans Mes plantations ne poussent pas [1.7.10] :
parGrowthStage
J’avais avant une autre façon pour les plantations mais ils me plaisent pas trop et j’ai voulu changer, faire des plantations plus custom mais c’est vrai que je suis aller voir sur internet sans vraiment rien comprendre mais je souhaite tout de même arriver à faire cette plantation.