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) |
| { |
| |
| } |
| } |
| |