Créer un arbre
-
Oké j’ai mes deux classes ! Sans aucune erreur donc je suis déjà super content le probleme suivant est le GameRegistry.registerWorldGenerator(new WorldGeneration(), 0); registerWorldGenerator reste souligner en rouge

-
Quelle est le message ?
-

Voilà l’erreur.
-
Ta classe WorldGeneration n’implémente pas l’interface IWorldGenerator …
-
Tu as créé la classe que j ai faite ? Si oui change la classe en ma classe (le nom dans la classe principale). Sinon crer la ou retourne. Voir le tuto
-
Si j’implente IWorldGeneration, WorldGeneration se souligne en rouge…
Voici mes classes :
Classe principale ```java
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();
}WorldGeneration ```java package mod.common; import java.util.Random; import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGeneration extends WorldGenerator { @Override public boolean generate(World world, Random random, int x, int y, int z) { 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; } } }Generator ( comme pour les minerais )
package mod.common; import java.util.Random; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; import cpw.mods.fml.common.IWorldGenerator; public class Generator implements IWorldGenerator { @Override public void generate(Random rand, int X, int Z, World world, 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) { if(world.getBiomeGenForCoords(x, z).equals(BiomeGenBase.savanna)) { } if(world.getBiomeGenForCoords(x, z).equals(BiomeGenBase.savannaPlateau)) { } 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 WorldGeneration()).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) { } } -
La classe WorldGeneration ne doit pas être enregistré, seule Generator doit l’être.
-
Ah oui je me suis trompé merci !
-
De rien, et j’en profite pour demander si le tuto serait passable dans la section de génération.
-
Super tuto !
-
une question pourquoi ne pas avoir mit le tuto dans la catégorie génération et dimension, ce serait plus logic
-
Je suis d’accord avec toi.___@‘Diangle’:
De rien, et j’en profite pour demander si le tuto serait passable dans la section de génération.
pulganr, lis les derniers posts avant de poster, tu as dis la même chose que Diangle. ^^
-
@‘pulganr’:
une question pourquoi ne pas avoir mit le tuto dans la catégorie génération et dimension, ce serait plus logic
A vrai dire, le tuto est dans les deux. Donc ça ne gène pas.
-
Bonjour,
J’ai un problème dans la classe de la pousse:
@Override public void func_149878_d(World world, int x, int y, int z, Random random) { int l = world.getBlockMetadata(x, y, z) & 3; world.setBlockToAir(x, y, z); Object obj = null; obj = new ClassDeGeneration(true); if(!((WorldGenerator)(obj)).generate(world, random, x, y, z)) { world.setBlock(x, y, z, this, l, 3); } }ClassDeGeneration() est souligné en rouge, il me dit que ça n’existe pas.
Merci d’avance,
rovergames -
Il faut que tu remplace par le nom de ta classe de génération de l’arbre
-
@‘BrokenSwing’:
Il faut que tu remplace par le nom de ta classe de génération de l’arbre
Ah d’accord merci

-
Je voudrais savoir à quand une version pour la 1.8.9
-
Surement pas de sitôt puisque personne n’a entreprit de le faire.
Par ailleurs ça m’étonnerait que beaucoup de choses changent à travers la réalisation… -
Moi j’essaye de faire un arbre avec le meme tuto mais je n’y arrive pas
-
Bonjour, je n’arrive bizarrement pas à obtenir la texture de mes feuilles alors que j’ai celle du bois et de la pousse
Voici ma classe feuille :
package com.google.phoenix.d.rebirth.bamboo.common; import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockLeaves; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BambooFeuilles extends BlockLeaves { @Override public IIcon getIcon(int var1, int var2) { return null; } @Override public String[] func_150125_e() { return null; } protected IIcon fastIcon; @Override public void registerBlockIcons(IIconRegister iconregister) { blockIcon = iconregister.registerIcon(this.getTextureName()); fastIcon = iconregister.registerIcon(this.getTextureName() + "_opaque"); } @Override public boolean isOpaqueCube() { return Blocks.leaves.isOpaqueCube(); } @Override public boolean isLeaves(IBlockAccess world, int x, int y, int z) { return true; } @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess blockaccess, int x, int y, int z, int side) { return !this.isOpaqueCube() ? true : super.shouldSideBeRendered(blockaccess, x, y, z, side); } @Override public int getBlockColor() { return -1; } @Override public int getRenderColor(int par1) { return -1; } @Override public int quantityDropped(Random random) { return random.nextInt(20) == 0 ? 1 : 0; } @Override public Item getItemDropped(int metadata, Random random, int par3) { return Item.getItemFromBlock(BambooMod.bambooPousse); } @Override public void dropBlockAsItemWithChance(World world, int x, int y, int z, int metadata, float par6, int par7) { if(!world.isRemote) { if(world.rand.nextInt(20) == 0) { Item splingid = this.getItemDropped(metadata, world.rand, par7); this.dropBlockAsItem(world, x, y, z, new ItemStack(splingid, 1, this.damageDropped(metadata))); } } } }et le code de ma classe principale :
package com.google.phoenix.d.rebirth.bamboo.common; import com.google.phoenix.d.rebirth.bamboo.proxy.CommonProxy; 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.GameRegistry; 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.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.oredict.OreDictionary; @Mod(modid = "bamboomod", name = "bamboomod", version = "1.7.10") public class BambooMod { @Instance("bamboomod") public static BambooMod instance; public static final String MODID = "bamboomod"; public static Item item1, helmetitem, chestplateitem, leggingsitem, bootsitem, sworditem, pickaxeitem, axeitem, shovelitem, hoeitem; public static ArmorMaterial bambooArmor = EnumHelper.addArmorMaterial("bambooArmor", 10, new int[] {2, 7, 5, 2}, 11); public static ToolMaterial bambooTool = EnumHelper.addToolMaterial("bambooTool", 2, 899, 12.0F, 2.5F, 20); public static Block bambooBlock, bambooBois, bambooFeuilles, bambooPousse; public static CreativeTabs BambooCreativeTabs = new BambooCreativeTabs("bamboo_creative_tabs"); WorldGeneration worldgeneration = new WorldGeneration(); @SidedProxy(clientSide = "com.google.phoenix.d.rebirth.bamboo.proxy.ClientProxy", serverSide = "com.google.phoenix.d.rebirth.bamboo.proxy.CommonProxy") public static CommonProxy proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { item1 = new Item1().setUnlocalizedName("item1").setTextureName(BambooMod.MODID + ":item1").setCreativeTab(CreativeTabs.tabMaterials); helmetitem = new ItemArmorBamboo(bambooArmor, 0).setUnlocalizedName("helmetitem").setTextureName(BambooMod.MODID + ":helmet_item").setCreativeTab(CreativeTabs.tabCombat); chestplateitem = new ItemArmorBamboo(bambooArmor, 1).setUnlocalizedName("chestplateitem").setTextureName(BambooMod.MODID + ":chestplate_item").setCreativeTab(CreativeTabs.tabCombat); leggingsitem = new ItemArmorBamboo(bambooArmor, 2).setUnlocalizedName("leggingsitem").setTextureName(BambooMod.MODID + ":leggings_item").setCreativeTab(CreativeTabs.tabCombat); bootsitem = new ItemArmorBamboo(bambooArmor, 3).setUnlocalizedName("bootsitem").setTextureName(BambooMod.MODID + ":boots_item").setCreativeTab(CreativeTabs.tabCombat); sworditem = new ItemBambooSword(bambooTool).setUnlocalizedName("sworditem").setTextureName(BambooMod.MODID + ":sword_item").setCreativeTab(CreativeTabs.tabCombat); pickaxeitem = new ItemBambooPickaxe(bambooTool).setUnlocalizedName("pickaxeitem").setTextureName(BambooMod.MODID + ":pickaxe_item").setCreativeTab(CreativeTabs.tabTools); axeitem = new ItemBambooAxe(bambooTool).setUnlocalizedName("axeitem").setTextureName(BambooMod.MODID + ":axe_item").setCreativeTab(CreativeTabs.tabTools); shovelitem = new ItemBambooSpade(bambooTool).setUnlocalizedName("shovelitem").setTextureName(BambooMod.MODID + ":shovel_item").setCreativeTab(CreativeTabs.tabTools); hoeitem = new ItemBambooHoe(bambooTool).setUnlocalizedName("hoeitem").setTextureName(BambooMod.MODID + ":hoe_item").setCreativeTab(CreativeTabs.tabTools); bambooBlock = new BambooBlock(Material.rock).setHardness(3.0F).setBlockName("bambooore").setBlockTextureName(BambooMod.MODID+":bambooore_block").setCreativeTab(CreativeTabs.tabBlock); bambooBois = new BambooBois().setBlockName("Bamboo_wood").setBlockTextureName(BambooMod.MODID+":Bamboo_wood"); bambooFeuilles = new BambooFeuilles().setBlockName("Bamboo_leaves").setBlockTextureName(BambooMod.MODID+":Bamboo_leaves"); bambooPousse = new BambooPousse().setBlockName("Bamboo_sapling").setBlockTextureName(BambooMod.MODID+":Bamboo_sapling"); OreDictionary.registerOre("ingotBamboo", item1); GameRegistry.registerItem(item1, "Bamboo_ingot"); GameRegistry.registerItem(helmetitem, "helmet_item"); GameRegistry.registerItem(chestplateitem, "chestplate_item"); GameRegistry.registerItem(leggingsitem, "leggings_item"); GameRegistry.registerItem(bootsitem, "boots_item"); GameRegistry.registerItem(sworditem, "sword_item"); GameRegistry.registerItem(pickaxeitem, "pickaxe_item"); GameRegistry.registerItem(axeitem, "axe_item"); GameRegistry.registerItem(shovelitem, "shovel_item"); GameRegistry.registerItem(hoeitem, "hoe_item"); GameRegistry.registerBlock(bambooBlock, "bambooore_block"); GameRegistry.registerBlock(bambooBois , "Bamboo_wood"); GameRegistry.registerBlock(bambooFeuilles , "Bamboo_leaves"); GameRegistry.registerBlock(bambooPousse, "Bamboo_sapling"); GameRegistry.addSmelting(bambooBlock, new ItemStack(item1), 1); GameRegistry.registerWorldGenerator(worldgeneration, 0); GameRegistry.addRecipe(new ItemStack(helmetitem), new Object[]{ "XXX", "X X", 'X', BambooMod.item1, }); GameRegistry.addRecipe(new ItemStack(chestplateitem), new Object[]{ "X X", "XXX", "XXX", 'X', BambooMod.item1, }); GameRegistry.addRecipe(new ItemStack(leggingsitem), new Object[]{ "XXX", "X X", "X X", 'X', BambooMod.item1, }); GameRegistry.addRecipe(new ItemStack(bootsitem), new Object[]{ "X X", "X X", 'X', BambooMod.item1, }); GameRegistry.addRecipe(new ItemStack(sworditem), new Object[]{ "X", "X", "Y", 'X', BambooMod.item1, 'Y', Items.stick , }); GameRegistry.addRecipe(new ItemStack(shovelitem), new Object[]{ "X", "Y", "Y", 'X', BambooMod.item1, 'Y', Items.stick , }); GameRegistry.addRecipe(new ItemStack(pickaxeitem), new Object[]{ "XXX", " Y ", " Y ", 'X', BambooMod.item1, 'Y', Items.stick , }); GameRegistry.addRecipe(new ItemStack(axeitem), new Object[]{ "XX", "XY", " Y", 'X', BambooMod.item1, 'Y', Items.stick , }); GameRegistry.addRecipe(new ItemStack(hoeitem), new Object[]{ "XX", " Y", " Y", 'X', BambooMod.item1, 'Y', Items.stick , }); } @EventHandler public void init(FMLInitializationEvent event) { proxy.registerRender(); MinecraftForge.EVENT_BUS.register(new LivingEventHandler()); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }Je n’arrive pas à générer les arbres dans la dimension également et je vous en ferai part une fois que la texture sera apparente ^^
