Ajouter la génération d'un block décoratif
-
http://www.minecraftforgefrance.fr/showthread.php?tid=38
Mais il faudrait faire un tuto sur ça!
-
Kevin_68, Sauf que se que je demandai la ce n’étaie pas de la génération de terrain ou de Chuck, mais faire apparaitre une structure pure est dure x).
-
Je voudrais ajouter la génération d’un block décoratif.
Un bloc est aussi une structure, mais elle ne fait qu’un bloc
-
on c’est mal compris je crois … il n’y a pas de génération ! nada !
Tu pourra cherchai des heurs et des heurs, tu ne trouvera pas se champignon. -
Kevin si je ne me trompe pas sevenno cherchais à faire apparaître une structure via un bloc donc avec une action alors que le créateur de ce topic veux seulement faire générer aléatoirement des blocs sur la map.
-
Exactement :).
-
Personne ?
Je savait que le truc que je faisais ne marchais pas, mais j’ai quand même essayer et j’ai raison(ça ne marche pas):
J’ai suivi ça : http://www.minecraftforgefrance.fr/showt…php?tid=38Même si ça sert à rien puisque c’est pas les bons codes, voilà les codes(:o) :
WorldGenCobweb :package This_is_Halloween; import java.util.Random; import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenCobweb extends WorldGenerator implements IWorldGenerator { public WorldGenCobweb() { } public boolean generate(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 0, j + 17, k + 8, Block.web.blockID, 999999999); return true; } @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { } }Bout de code dans la classe principale :
public void load(FMLInitializationEvent event) { TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); GameRegistry.registerWorldGenerator(new WorldGenCobweb()); }J’ai aussi essayer de mettre
GameRegistry.registerWorldGenerator(new WorldGenCobweb());dans le PreInit, mais pareil
Quelqu’un à t’il la solution à mon problème ?
Merci d’avancePS : j’ai chercher sur http://www.minecraftforgefrance.fr , http://www.minecraftforge.net , http://www.youtube.com , et http://www.google.com
-
Essaie avec ça dans ton WorldGenerator:
public boolean generate(World world, Random random, int x, int y, int z) { while (world.isAirBlock(x, y, z) && y > 2) { –y; } world.setBlock(x, y, z, Block.web.blockID); return true; } -
Dans init :
GameRegistry.registerWorldGenerator(new WorldGenTutorial());package tutoriel.common; import java.util.Random; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import cpw.mods.fml.common.IWorldGenerator; public class WorldGenTutorial implements IWorldGenerator { @Override 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); } } private void generateSurface(World world, Random rand, int x, int z) { for(int i = 0; i < 75; i ++) { int randPosX = x + rand.nextInt(16); int randPosY = rand.nextInt(128); int randPosZ = z + rand.nextInt(16); (new WorldGenWeb()).generate(world, rand, randPosX, randPosY, randPosZ); } } }package tutoriel.common; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenWeb extends WorldGenerator { @Override public boolean generate(World world, Random random, int x, int y, int z) { boolean isAir = world.isAirBlock(x, y , z); if((world.getBlockId(x, y - 1, z) == Block.grass.blockID && isAir)|| (world.getBlockId(x, y - 1, z) == Block.dirt.blockID && isAir)) { world.setBlock(x, y, z, Block.web.blockID); return true; } else { return false; } } }Tester, ça fonctionne.
Pour changer la hauteur minimum :
int randPosY = rand.nextInt(hauteur);
Et pour la probabilité change le i < 75 -
Ça Marche
Merci
Je vous adore
