Ce biome spawn t-il ?



  • Voila, j'ai crée un biome et je ne l'ai jamais trouvé, je vous demande alors, mon code est-il bon ?

    JE SUIS EN 1.9

    Ma classe du biome

    package com.tuto.mod.biome;
    
    import net.minecraft.init.Blocks;
    import net.minecraft.world.biome.Biome;
    
    public class Topaze extends Biome
    {
        public Topaze(BiomeProperties i)
        {
                super(i);
                this.topBlock = Blocks.GOLD_BLOCK.getDefaultState();
                this.fillerBlock = Blocks.STONEBRICK.getDefaultState();
        }
    
    }
    

    mon init

    package com.tuto.mod.init;
    
    import com.tuto.mod.biome.Topaze;
    
    import net.minecraft.world.biome.Biome.BiomeProperties;
    import net.minecraftforge.common.BiomeManager;
    import net.minecraftforge.common.BiomeManager.BiomeEntry;
    import net.minecraftforge.common.BiomeManager.BiomeType;
    
    public class BiomeMod
    {
        public static void init()
        {
            BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(new Topaze((new BiomeProperties("Topaze")).setTemperature(0.7F).setRainfall(0.8F)), 10));
        }
    }
    

    mon client proxy

    package com.tuto.mod.proxy;
    
    import com.tuto.mod.client.RendererMobTuto;
    import com.tuto.mod.client.RendererTituya;
    import com.tuto.mod.common.MobTuto;
    import com.tuto.mod.common.Tituya;
    import com.tuto.mod.init.BiomeMod;
    import com.tuto.mod.init.BlocksMod;
    import com.tuto.mod.init.ItemsMod;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.model.ModelBiped;
    import net.minecraftforge.fml.client.registry.RenderingRegistry;
    
    public class ClientProxy extends CommonProxy
    {
        @Override
        public void registerRenders()
        {
            BlocksMod.registerRenders();
            ItemsMod.registerRenders();
            BiomeMod.init();
    
            RenderingRegistry.registerEntityRenderingHandler(MobTuto.class, new RendererMobTuto(Minecraft.getMinecraft().getRenderManager(), new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(Tituya.class, new RendererTituya(Minecraft.getMinecraft().getRenderManager(), new ModelBiped(), 0.5F));
        }
    }
    
    

    et ma classe principale

    package com.tuto.mod;
    
    import java.lang.reflect.Proxy;
    
    import com.tuto.mod.common.MobTuto;
    import com.tuto.mod.common.Tituya;
    import com.tuto.mod.init.BiomeMod;
    import com.tuto.mod.init.BlocksMod;
    import com.tuto.mod.init.CraftsMod;
    import com.tuto.mod.init.EventsMod;
    import com.tuto.mod.init.ItemsMod;
    import com.tuto.mod.proxy.CommonProxy;
    import com.tuto.mod.world.WorldRegisterTuto;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.util.ResourceLocation;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.event.entity.living.LivingEvent;
    import net.minecraftforge.fml.common.Mod;
    import net.minecraftforge.fml.common.Mod.EventHandler;
    import net.minecraftforge.fml.common.Mod.Instance;
    import net.minecraftforge.fml.common.SidedProxy;
    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
    import net.minecraftforge.fml.common.network.NetworkRegistry;
    import net.minecraftforge.fml.common.registry.EntityRegistry;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    @Mod(modid = References.MOD_ID, name = References.MOD_NAME, version = References.VERSION)
    
    public class ModTuto
    {
        @SidedProxy(clientSide = References.CLIENT_PROXY, serverSide = References.COMMON_PROXY)
        public static  CommonProxy proxy;
    
         @Instance(References.MOD_ID)
            public static ModTuto instance;
    
        public static CreativeTabs tabTuto = new CreativeTabs("tabTuto")
        {
            @SideOnly(Side.CLIENT)
            public Item getTabIconItem()
            {
                return ItemsMod.supT;
            }
        };
    
        @EventHandler
        public void preInit(FMLPreInitializationEvent event)
        {
            BlocksMod.init();
            BlocksMod.register();
            ItemsMod.init();
            ItemsMod.register();
            EventsMod.init();
            CraftsMod.init();
            BiomeMod.init();
            WorldRegisterTuto.MainRegistry();
        }
    
        @EventHandler
        public void init(FMLInitializationEvent event)
        {
            proxy.registerRenders();
            MinecraftForge.EVENT_BUS.register(new Drop());
            EntityRegistry.registerModEntity(MobTuto.class, "mobTutoriel", 30, this.instance, 80, 1, true);
            EntityRegistry.registerEgg(MobTuto.class, 99, 12);
            EntityRegistry.registerModEntity(Tituya.class, "tituya", 40, this.instance, 80, 1, true);
            EntityRegistry.registerEgg(Tituya.class, 255,182);
    
        }
    
        @EventHandler
        public void postInit(FMLPostInitializationEvent event)
        {
    
        }
    }
    

    je ne sais pas du tout pourquoi il ne spawn pas



  • Salut,

    Alors, je suis vraiment débutant mais d'après moi tu as créé ton biome sans définir sa génération "BiomeGenBase", n'est repris nul part

    Les tutoriels peuvent t'aider à en savoir plus : Créer un biome (1.8)



  • Up 😄



  • Fais comme ça :

    
    public static init() {
       Biome biomeTopaze = new Topaze((new BiomeProperties("Topaze")).setTemperature(0.7F).setRainfall(0.8F));
       Biome.registerBiome(<id du="" biome="">, biomeTopaze.getBiomeName(), biomeTopaze);
       BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(biomeTopaze), 10);
       BiomeDictionary.addTypes(biomeTopaze, Type.<type>);
    }
    
    

    Conseils :
    -Fais en sorte que l'ID du biome puisse être modifié depuis le fichier de config afin d'éviter de futur conflit,
    -Un biome peut avoir plusieurs types,
    -Pour trouver ton biome plus rapidement, tu peux rajouter ces deux lignes quelque part :

    
    BlockPos pos = WORLD.getBiomeProvider().findBiomePosition((int) PLAYER.posX, (int) PLAYER.posZ, 5000, Lists.newArrayList(biomeTopaze), new Random());
    PLAYER.sendMessage(new TextComponentString(pos != null ? pos.toString() : "Non trouvé :("));
    
    

    5000 étant assez énorme, si ton jeu crash à cause d'un OutOfMemory, diminue-le.</type></id>



  • Je suis en 1.9, tonncode ne fonctionne pas pour moi, ou alors j'ai fait quelque chose de mal ?



  • Ah, j'avais pas fait attention.
    Alors à ce moment là, fais comme ça :

    
    public static init() {
       Biome biomeTopaze = new Topaze((new BiomeProperties("Topaze")).setTemperature(0.7F).setRainfall(0.8F));
       GameRegistry.register(biomeTopaze);
       BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(biomeTopaze, 10));
       BiomeDictionary.registerBiomeType(biomeTopaze, Type.<type>);
    }
    
    

    Astuce:
    •Si tu veux que le joueur puisse spawner dans ton biome, rajoutes ceci :

    
    BiomeProvider.allowedBiomes.add(biomeTopaze);
    
    ```</type>


  • Mon jeu crash 😕 J'ai regardé la console ça à totalement planté xD
    J'ai pourtant bien mit ou il faut ce que tu ma demandé, à moins que je ne t'ai pas compris 😕

    package com.tuto.mod.init;
    
    import com.tuto.mod.biome.Topaze;
    
    import net.minecraft.world.biome.Biome;
    import net.minecraft.world.biome.Biome.BiomeProperties;
    import net.minecraft.world.biome.BiomeProvider;
    import net.minecraftforge.common.BiomeDictionary;
    import net.minecraftforge.common.BiomeDictionary.Type;
    import net.minecraftforge.common.BiomeManager;
    import net.minecraftforge.common.BiomeManager.BiomeEntry;
    import net.minecraftforge.common.BiomeManager.BiomeType;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    
    public class BiomeMod
    {
        public static void init()
        {
            Biome biomeTopaze = new Topaze((new BiomeProperties("Topaze")).setTemperature(0.7F).setRainfall(0.8F));
               GameRegistry.register(biomeTopaze);
               BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(biomeTopaze, 10));
               BiomeDictionary.registerBiomeType(biomeTopaze, Type.FOREST);
        }
    }
    

    Sait tu pourquoi ?



  • Possible d'avoir le crash-report, s'il te plait ?