Créer un arbre
-
Cool ! Merci de l’avoir continué !
Par contre, ça ne fonctionne pas pour moi :
Il me met une erreur sur “bbcmh3treeWorldGen” (avant le extends WordGenerator):package bbcmh3tree.common; import java.util.Random; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenerator; public class bbcmh3treeWorldGen extends WorldGenerator { public boolean generate(World world, Random rand, int X, int y, int Z, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case -1: this.generateNether(world, X * 16, Z * 16, rand); case 0: this.generateSurface(world, X * 16, Z * 16, rand); case 1: this.generateEnd(world, X * 16, Z * 16, rand); } } private void generateSurface(World world, int x, int z, Random rand) { for (int i = 0; i < 50; i++) { int x1 = x + rand.nextInt(16); int y1 = rand.nextInt(128); int z1 = z + rand.nextInt(16); (new bbcmh3treeblueWorldGen()).generate(world, rand, x1, y1, z1); } } private void generateEnd(World world, int x, int z, Random rand) { } private void generateNether(World world, int x, int z, Random rand) { } }
-
public void generate
Tu as mis la fonction en void ^^. Normalement il te dit d’ajouter des méthode, car ta fonction et pas en boolean, regarde le code, que j’ai mis
Donc voilà le tutoriel est fini, je vous laisse corriger :p.
-
Excellent tuto bave Vraiment GG
-
@‘AlphaSwittleTeam’:
Excellent tuto bave Vraiment GG
Merci.
Les membre du staff, pourrais donner leur jugement ^^ ?
Et pourrait-on corrigé ? -
Tu as mis la fonction en void ^^. Normalement il te dit d’ajouter des méthode, car ta fonction et pas en boolean, regarde le code, que j’ai mis
Oui, c’est vrai, mais quand je le remplace par boolean, ce coup-ci, c’est tout ce qu’il y a aprés “boolean” qui est surligné en rouge :
public boolean%(#FF0000)* ``` Si je passe la souris sur ce qui est surligné, il me propose d'ajouter un "return false" -> ce que je fais mais une fois que j'ai fais cela, le "bbcmh3treeWorldGen" reste toujours surligné en rouge…
-
pourrais tu me donner tes classe, comme sa je me rend mieux compte ^^
-
Ok !
Edit : Je te les ai passées en mp
-
Oui, donc même en changeant le << extends generator >>en << implements IWorldGenerator >>, ça bug toujours, et j’ai remarqué aussi, si je rajoute le @Override avant <<public boolean=“” generate(world=“” world….=“”>> et bien tout ça est aussi surligné, quand je passe le souris dessus, il ne me propose que d’enlever le @Override…
Ca doit venir d’un truc tout bête c’est sûr et certain, mais de quoi, là je ne vois pas…</public>
-
Très long tutoriel, je vais voir si je peux faire une version en vidéo. Il faudra aussi le passage des correcteurs, car il y a beaucoup de faute.
@bbcmh3 ta classe bbcmh3treeblueWorldGen n’est pas bonne, regarde mieux le tutoriel.
-
@robin4002 : Ce src.zip de ce sujet n’est plus bon car entre temps, Diangle m’a passé tout son code ré-écrit et j’ai remis l’archive à jour sous un autre post -> http://www.minecraftforgefrance.fr/showthread.php?tid=1110
Le problème, c’est que exactement les mêmes fichiers avec exactement les même codes, ça ne fonctionne pas chez moi alors que chez lui oui ! ^^
-
@‘robin4002’:
Très long tutoriel, je vais voir si je peux faire une version en vidéo. Il faudra aussi le passage des correcteurs, car il y a beaucoup de faute.
@bbcmh3 ta classe bbcmh3treeblueWorldGen n’est pas bonne, regarde mieux le tutoriel.
Il le sais, plus tard je suis passer dessus, pour moi sa marcher très bien, mais pour lui sa ne marche pas, aussi je pourrais voir pour faire le tuto en vidéo (quand j’ai un peu plus de temps).
-
Il le sais, plus tard je suis passer dessus, pour moi sa marcher très bien, mais pour lui sa ne marche pas, aussi je pourrais voir pour faire le tuto en vidéo (quand j’ai un peu plus de temps).
Je ne sais pas si tu as vu, mais je viens de lui dire cela juste au dessus ! ^^
-
donc voilà le tutoriel a été corrigé par gagoi.
-
Hello , j’ai suivi le tutoriel et euuh mon block pousse apparaît 6 fois dans le menu créa
Que faire ?
-
@‘Legrandfifou’:
Hello , j’ai suivi le tutoriel et euuh mon block pousse apparaît 6 fois dans le menu créa
Que faire ?
Tu as du mettre des metadata sans faire gaffe.
Sinon envoie la classe. -
Voila ma classe blockPousse ```java
package mod.common;import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockSapling;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.util.IIcon;public class BlockPousse extends BlockSapling
{
public BlockPousse()
{
super();
float f = 0.4F;
setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f);
this.setCreativeTab(CreativeTabs.tabDecorations);
}@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata)
{
return blockIcon;
}@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iiconRegister)
{
this.blockIcon = iiconRegister.registerIcon(this.getTextureName());
}}
-
Déjà il te manque des fonctions.
-
Ah oui , je ne sais pas comment j’ai fait pour louper cette partie de code ! Merci Diangle !
-
Hello j’ajoute un message à la suite mais personne n’a répondu entre temps et j’ai un problème avec la partie génération dans le BONUS , je suis en 1.7.10 et je pense qu’il y a des codes qui change mais je n’arrive pas a résoudre . . .
classe principale : registerWorldGenerator souligné en rouge
package mod.common; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import java.awt.Color; import mod.proxy.CommonProxy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; @Mod(modid="modminecraft", name="Mod Minecraft", version="1.0") public class ModMinecraft { public static Item itemFlechette; public static Item itemSarbacane; public static Item itemSeve; public static Item itemSevewithmosquito; public static Item itemFrogLegs; public static Item itemFlechetteEmpty; public static Item itemFrogLegsCooked; public static Item itemSyringe; public static Item itemSyringewithblood; public static Item itemADNofFrog; public static Item itemSuperAxe; public static Block BlockBarriere; public static Block BlockTronc; public static Block BlockFeuille; public static Block BlockPousse; public static Item.ToolMaterial toolAxe = EnumHelper.addToolMaterial("toolAxe", 2, 400, 12.0F, 4.0F, 18); @Mod.Instance("modminecraft") public static ModMinecraft instance; public static final String MODID = "modminecraft"; @SidedProxy(clientSide="mod.proxy.ClientProxy", serverSide="mod.proxy.CommonProxy") public static CommonProxy proxy; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { itemFlechette = new DinoItem().setUnlocalizedName("itemFlechette").setCreativeTab(CreativeTabs.tabCombat); itemSarbacane = new SarbacaneItem().setUnlocalizedName("itemSarbacane").setCreativeTab(CreativeTabs.tabCombat); itemSeve = new SeveItem().setUnlocalizedName("itemSeve").setCreativeTab(CreativeTabs.tabMaterials); itemSevewithmosquito = new ItemSevewithmosquito().setUnlocalizedName("itemSevewithmosquito").setCreativeTab(CreativeTabs.tabMaterials); itemFrogLegs = new itemFrogLegs().setUnlocalizedName("itemFrogLegs").setCreativeTab(CreativeTabs.tabFood); itemFlechetteEmpty = new itemFlechetteEmpty().setUnlocalizedName("itemFlechetteEmpty").setCreativeTab(CreativeTabs.tabMaterials); itemFrogLegsCooked = new itemFrogLegsCooked(8, 0.3F, false).setUnlocalizedName("itemFrogLegsCooked").setCreativeTab(CreativeTabs.tabFood); itemSyringe = new itemSyringe().setUnlocalizedName("itemSyringe").setCreativeTab(CreativeTabs.tabTools).setMaxStackSize(1); itemSyringewithblood = new itemSyringewithblood().setUnlocalizedName("itemSyringeWithBlood").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(1); itemADNofFrog = new itemADNofFrog().setUnlocalizedName("itemADNofFrog").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(1); itemSuperAxe = new itemSuperAxe(toolAxe).setUnlocalizedName("itemsuperAxe").setCreativeTab(CreativeTabs.tabTools).setMaxStackSize(1); BlockBarriere = new BlockBarriere(Material.rock).setBlockName("blockBarriere").setCreativeTab(CreativeTabs.tabBlock); BlockTronc = new BlockTronc().setBlockName("blockTronc").setCreativeTab(CreativeTabs.tabBlock).setHardness(2.0F).setBlockTextureName("modminecraft:blockTronc"); BlockFeuille = new BlockFeuille().setBlockName("blockFeuille").setCreativeTab(CreativeTabs.tabBlock).setHardness(0.1F).setBlockTextureName("modminecraft:blockFeuille"); BlockPousse = new BlockPousse().setBlockName("blockPousse").setHardness(0.5F).setBlockTextureName("modminecraft:blockPousse"); Ruins structureGenerator = new Ruins(); GameRegistry.registerItem(itemFlechette, "item_Flechette"); GameRegistry.registerItem(itemSarbacane, "item_Sarbacane"); GameRegistry.registerItem(itemSeve, "item_Seve"); GameRegistry.registerItem(itemSevewithmosquito, "item_Sevewithmosquito"); GameRegistry.registerItem(itemFrogLegs, "item_FrogLegs"); GameRegistry.registerItem(itemFlechetteEmpty, "item_FlechetteEmpty"); GameRegistry.registerItem(itemFrogLegsCooked, "item_FrogLegsCooked"); GameRegistry.registerItem(itemSyringe, "item_Syringe"); GameRegistry.registerItem(itemSyringewithblood, "item_SyringeWithBlood"); GameRegistry.registerItem(itemADNofFrog, "item_ADNofFrog"); GameRegistry.registerBlock(BlockBarriere, "block_barriere"); GameRegistry.registerItem(itemSuperAxe, "item_SuperAxe"); GameRegistry.registerBlock(BlockTronc, "block_tronc"); GameRegistry.registerBlock(BlockFeuille, "block_feuille"); GameRegistry.registerBlock(BlockPousse, "block_pousse"); GameRegistry.registerWorldGenerator(new WorldGeneration(), 0); GameRegistry.registerTileEntity(TileEntityBarriere.class, "Barriere"); } @Mod.EventHandler public void init(FMLInitializationEvent event) { proxy.registerRender(); proxy.registerTileEntityRender(); GameRegistry.addRecipe(new ItemStack(itemFlechette, 4), new Object[] { "ZX ", "XYX", " XE", Character.valueOf('X'), Items.stick, Character.valueOf('Y'), new ItemStack(Items.potionitem, 1, 16426), Character.valueOf('Z'), Items.iron_ingot, Character.valueOf('E'), new ItemStack(Blocks.wool, 1, 14) }); GameRegistry.addShapelessRecipe(new ItemStack(itemFlechette, 1), new Object[] { new ItemStack(Items.potionitem, 1, 16426), new ItemStack(itemFlechetteEmpty, 1) }); GameRegistry.addRecipe(new ItemStack(itemSarbacane), new Object[] { "XZ ", "ZXZ", " ZX", Character.valueOf('X'), Items.reeds, Character.valueOf('Z'), Items.string }); GameRegistry.addRecipe(new ItemStack(itemSyringe), new Object[] { "ZX ", "X X", " XY", Character.valueOf('Z'), Items.iron_ingot, Character.valueOf('Y'), Items.stick, Character.valueOf('X'), new ItemStack(Blocks.glass, 1) }); GameRegistry.addRecipe(new ItemStack(itemFlechetteEmpty, 4), new Object[] { "ZX ", "X X", " XE", Character.valueOf('X'), Items.stick, Character.valueOf('Y'), new ItemStack(Items.potionitem, 1, 16426), Character.valueOf('Z'), Items.iron_ingot, Character.valueOf('E'), new ItemStack(Blocks.wool, 1, 14) }); GameRegistry.addRecipe(new ItemStack(itemSuperAxe), new Object[] { " XX", " ZX", " ", Character.valueOf('Z'), Items.diamond_axe, Character.valueOf('X'), Items.diamond }); GameRegistry.addRecipe(new ItemStack(BlockBarriere, 2), new Object[] { "XXX", "YYY", "XXX", Character.valueOf('X'), Items.iron_ingot, Character.valueOf('Y'), Blocks.iron_bars }); GameRegistry.addSmelting(itemFrogLegs, new ItemStack(itemFrogLegsCooked, 1), 0.1F); EntityRegistry.registerGlobalEntityID(EntityFrog.class, "EntityFrog", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB()); EntityRegistry.registerModEntity(EntityFrog.class, "EntityFrog", 420, instance, 40, 1, true); EntityRegistry.registerGlobalEntityID(EntityFlechette.class, "RenderFlechetteun", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.registerModEntity(EntityFlechette.class, "RenderFlechetteun", 421, instance, 40, 1, true); EntityRegistry.registerGlobalEntityID(EntityBrachiosaurus.class, "EntityBrachiosaurus", EntityRegistry.findGlobalUniqueEntityId(), new Color(4, 52, 91).getRGB(), new Color(119, 175, 219).getRGB()); EntityRegistry.registerModEntity(EntityBrachiosaurus.class, "EntityBrachiosaurus", 422, instance, 40, 1, true); GameRegistry.registerTileEntity(TileEntityBarriere.class, "TileEntityBarriere"); BiomeListTuto.BiomeList(); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event) { BiomeListTuto.worldTypeTuto = new WorldTypeTuto(); } }
Ma classe WorldGeneration : WorldGeneration,generate(Random random, int chunkX, int chunkZ, World world,IChunkProvider chunkGenerator, IChunkProvider chunkProvider) et (x, y - 1, z) seulement x,y,z sont souligné en rouge
package mod.common; import java.util.Random; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenerator; import cpw.mods.fml.common.IWorldGenerator; public class WorldGeneration extends WorldGenerator{ @Override public boolean generate(Random random, int chunkX, int chunkZ, World world,IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { if(world.getBlock(x, y - 1, z) == Blocks.grass && world.isAirBlock(x, y , z)) { new mod.common.WorldGenAncientAcacia(true).generate(world, random, x, y, z); return true; } else { return false; } } }
-
Il te manque le worldGenerator (avec les id de dimension).