Résolu Mon biome custom n'apparaît pas
-
Salut
J’ai un nouveau problème avec mon biome. Ce biome n’est utilisé que dans ma dimension.
Le problème, c’est qu’il ne veut pas apparaître.
Voilà comment j’ai sû que c’est mon biome qui bug et pas la dimension : j’ai mis en biome une plaine. Ca marche très bien. Mais quand je met mon biome, ça génère un biome océan (c’est ce que ça dit dans le F3). Le biome océan, c’est le biome par défaut, c’est pour ça que ça le met.Voilà la classe de mon biome :
package thisishalloween.world.frightful; import net.minecraft.init.Blocks; import net.minecraft.world.biome.Biome; import thisishalloween.entity.EntityEvilChicken; import thisishalloween.entity.EntityEvilCow; import thisishalloween.entity.EntityEvilPig; import thisishalloween.entity.EntityEvilSheep; import thisishalloween.entity.EntityGhost; import thisishalloween.entity.EntityMummy; import thisishalloween.entity.EntityVampire; public class BiomeGenEvilland extends Biome { public BiomeGenEvilland(BiomeProperties i) { super(i); this.spawnableCaveCreatureList.clear(); this.spawnableWaterCreatureList.clear(); this.spawnableMonsterList.clear(); this.spawnableCreatureList.clear(); this.spawnableMonsterList.add(new SpawnListEntry(EntityEvilPig.class, 40, 8, 10)); this.spawnableMonsterList.add(new SpawnListEntry(EntityEvilSheep.class, 40, 8, 10)); this.spawnableMonsterList.add(new SpawnListEntry(EntityEvilChicken.class, 40, 8, 10)); this.spawnableMonsterList.add(new SpawnListEntry(EntityEvilCow.class, 40, 8, 10)); this.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 50, 1, 4)); this.spawnableMonsterList.add(new SpawnListEntry(EntityVampire.class, 50, 1, 4)); this.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 50, 1, 4)); this.topBlock = Blocks.GRASS.getDefaultState(); this.fillerBlock = Blocks.DIRT.getDefaultState(); this.theBiomeDecorator.grassPerChunk = 5; this.theBiomeDecorator.mushroomsPerChunk = 2; this.theBiomeDecorator.reedsPerChunk = 2; this.theBiomeDecorator.generateLakes = true; this.theBiomeDecorator.deadBushPerChunk = 10; } }
Voilà comment il était enregistré jusqu’ici (dans le init) :
Evilland = new BiomeGenEvilland((new Biome.BiomeProperties("Evilland")).setBaseHeight(0.125F).setHeightVariation(0.05F).setRainDisabled().setTemperature(2.0F).setRainfall(0.0F)); BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(Evilland, 20)); BiomeDictionary.addTypes(Evilland, Type.DEAD);
J’ai testé plein de trucs, comme par exemple utilisé la méthode vanilla qu’utilise tout les biomes, de mettre dans le pré-init, etc … Rien ne marche
J’ai également cherché, mais je n’ai rien trouvé (si ce n’est qu’il faut le mettre dans le pré-init).
Savez-vous comment faire ?
Merci d’avance -
Je fais comme ça en 1.12 pour mon biome Clearing :
/* COMMON PROXY */ public void preInit(FMLPreInitializationEvent event) { MinecraftForge.TERRAIN_GEN_BUS.register(new MapGenHandler()); } /* CLASSE CONTENANT L'EVENT */ public static final BiomeClearing CLEARING = new BiomeClearing( new Biome.BiomeProperties("Clearing").setTemperature(0.95F).setRainfall(0.9F).setWaterColor(988684)); @Mod.EventBusSubscriber public static class RegisterBiome { @SubscribeEvent public static void registerBiomes(final RegistryEvent.Register <biome>event) { final IForgeRegistry <biome>registry = event.getRegistry(); registerBiome(registry, CLEARING, StyxInitLabels.CLEARING, BiomeManager.BiomeType.WARM, 1000, WET, DEAD, SWAMP); } private static <t extends="" biome="">void registerBiome(final IForgeRegistry <biome>registry, final T biome, final String biomeName, final BiomeManager.BiomeType biomeType, final int weight, final BiomeDictionary.Type… types) { registry.register(biome.setRegistryName(Styx.MOD_ID, biomeName)); BiomeDictionary.addTypes(biome, types); BiomeManager.addBiome(biomeType, new BiomeManager.BiomeEntry(biome, weight)); } }
Je pense que ça devrait te suffire ;)</biome></t></biome></biome>
-
Ca marche très bien. Merci