Génération de minerais dans un multiverse
-
Il suffit de retirer la condition ou le switch avec l’id de la dimension dans le générateur.
-
dans le mod ou avec la commande ?
comme par exemple /mv create test ?
-
Dans le mod
-
donc j’enlève :
switch(world.etc……){
}c’est bien ça ?
Edit:
Quand j’enlève le switch j’ai des érreurs à generateSurface(Random random, int chunkX, int chunkZ, World world), ça me dit de mettre un suppressionWarning ou de supprimer :
package fr.browneez.gen;
import cpw.mods.fml.common.IWorldGenerator;
import fr.browneez.locky.Main;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.WorldProvider;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;public class GenStats
implements IWorldGenerator
{
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{}
private void addOre(Block block, Block blockSpawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVeinSize, int maxVeinSize, int spawnChance)
{
for (int i = 0; i < spawnChance; i++)
{
int defaultChunkSize = 16;int xPos = posX + random.nextInt(defaultChunkSize);
int yPos = minY + random.nextInt(maxY - minY);
int zPos = posZ + random.nextInt(defaultChunkSize);new WorldGenMinable(block, minVeinSize + random.nextInt(maxVeinSize - minVeinSize), blockSpawn).generate(world, random, xPos, yPos, zPos);
}
}private void generateSurface(Random random, int chunkX, int chunkZ, World world)
{
addOre(Main.Lockyumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 13, 3, 5, 2);
addOre(Main.Titaniumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 20, 4, 5, 3);
addOre(Main.Thoriumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 45, 4, 10, 15);
}}
-
Envoie ton ancienne classe, avant que tu supprime le switch (quand il n’y avait pas d’erreurs) et met là entre balise java
-
Comme ça :
package fr.browneez.gen; import cpw.mods.fml.common.IWorldGenerator; import fr.browneez.locky.Main; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.WorldProvider; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; public class GenStats implements IWorldGenerator { public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { addOre(Main.Lockyumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 13, 3, 5, 2); addOre(Main.Titaniumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 20, 4, 5, 3); addOre(Main.Thoriumore, Blocks.stone, random, world, chunkX, chunkZ, 4, 45, 4, 10, 15); } private void addOre(Block block, Block blockSpawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVeinSize, int maxVeinSize, int spawnChance) { for (int i = 0; i < spawnChance; i++) { int defaultChunkSize = 16; int xPos = posX + random.nextInt(defaultChunkSize); int yPos = minY + random.nextInt(maxY - minY); int zPos = posZ + random.nextInt(defaultChunkSize); new WorldGenMinable(block, minVeinSize + random.nextInt(maxVeinSize - minVeinSize), blockSpawn).generate(world, random, xPos, yPos, zPos); } } } -
package fr.browneez.gen; import cpw.mods.fml.common.IWorldGenerator; import fr.browneez.lockycraft.Main; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.WorldProvider; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; public class GenStats implements IWorldGenerator { public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch (world.provider.dimensionId) { case -1: generateNether(random, chunkX * 16, chunkZ * 16, world); break; case 0: generateSurface(random, chunkX * 16, chunkZ * 16, world); break; case 1: generateEnd(random, chunkX * 16, chunkZ * 16, world); break; } } private void addOre(Block block, Block blockSpawn, Random random, World world, int posX, int posZ, int minY, int maxY, int minVeinSize, int maxVeinSize, int spawnChance) { for (int i = 0; i < spawnChance; i++) { int defaultChunkSize = 16; int xPos = posX + random.nextInt(defaultChunkSize); int yPos = minY + random.nextInt(maxY - minY); int zPos = posZ + random.nextInt(defaultChunkSize); new WorldGenMinable(block, minVeinSize + random.nextInt(maxVeinSize - minVeinSize), blockSpawn).func_76484_a(world, random, xPos, yPos, zPos); } } private void generateEnd(Random random, int chunkX, int chunkZ, World world) {} private void generateSurface(Random random, int chunkX, int chunkZ, World world) { addOre(Main.LockyumOre, Blocks.stone, random, world, chunkX, chunkZ, 4, 13, 3, 5, 2); addOre(Main.TitaniumOre, Blocks.stone, random, world, chunkX, chunkZ, 4, 20, 4, 5, 3); addOre(Main.ThoriumOre, Blocks.stone, random, world, chunkX, chunkZ, 4, 45, 4, 10, 15); } private void generateNether(Random random, int chunkX, int chunkZ, World world) {} }Je vien de remarquer que sur la bêta de mon mod, il y avais l’import :
import net.minecraft.world.WorldProvider
Mais la il n’est pas utilisé -
As-tu testé le code de robin ?
-
Non j’avais pas fait attention, je vais tester
Edit:
Je viens de tester et quand je fais : /mv create test normal, ça ne génère pas les minerais

La version de multiverse est : 2.5
-
Personnellement, j’ai changé ceci:
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
switch (world.provider.dimensionId) {
case 0:
generateSurface(world, random, chunkX * 16, chunkZ * 16);
}
}Pour cela:
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
if(world.provider.isSurfaceWorld()) {
generateSurface(world, random, chunkX * 16, chunkZ * 16);
}
}