public class MistyThaumcraftWorldGenerator implements IWorldGenerator
{
private WorldGenerator ore_amber;
public MistyThaumcraftWorldGenerator()
{
ore_amber = new WorldGenMinable(RegisterBlocks.ore_amber.getDefaultState(), 9);
}
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
switch(world.provider.getDimension())
{
case 0...
public class MistyThaumcraftWorldGenerator implements IWorldGenerator
{
private WorldGenerator ore_amber;
public MistyThaumcraftWorldGenerator()
{
ore_amber = new WorldGenMinable(RegisterBlocks.ore_amber.getDefaultState(), 9);
}
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
switch(world.provider.getDimension())
{
case 0:
runGenerator(ore_amber, world, random, chunkX, chunkZ, 80, 5, 180);
break;
case 1:
break;
case -1:
break;
}
}
private void runGenerator(WorldGenerator gen, World world, Random rand, int chunkX, int chunkZ, int chance, int minHeight, int maxHeight)
{
if(minHeight > maxHeight || minHeight < 0 || maxHeight > 256) throw new IllegalArgumentException("Ore generated out of bounds");
int heightDiff = maxHeight - minHeight + 1;
for(int i = 0; i < chance; i++)
{
int x = chunkX * 16 + rand.nextInt(16);
int y = minHeight + rand.nextInt(heightDiff);
int z = chunkZ * 16 + rand.nextInt(16);
gen.generate(world, rand, new BlockPos(x, y, z));
}
}
}
написал в заголовке, что я уже искал и искал много. Тебя не виню, но я де написал.Чел,ну блин,ну гугл\яндекс\учебники\исходный код майнкрафта
Возможно не правильно искал, не винюСпасибо большое!!! Я специально для этого
написал в заголовке, что я уже искал и искал много. Тебя не виню, но я де написал.
X-ray разве не будет делать твою руду невидимой?x-ray
X-ray разве не будет делать твою руду невидимой?
какие разные? где код?разные варианты
Не понял если честно.@Илья ~ KroxaLimba тебе скинул рабочий код, а отметил как решено свой пост со скриншотом
package com.test.mod.generate.GenerateOre;
import java.util.Random;
import com.test.mod.init.InitBlocks;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.IChunkGenerator;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.fml.common.IWorldGenerator;
public class GenerateOre implements IWorldGenerator
{
private WorldGenerator ore_amber;
public GenerateOre()
{
ore_amber = new WorldGenMinable(InitBlocks.Amethist_ORE.getDefaultState(), 9);
}
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
{
switch(world.provider.getDimension())
{
case 0:
runGenerator(ore_amber, world, random, chunkX, chunkZ, 20, 5, 180);
break;
case 1:
break;
case -1:
break;
}
}
private void runGenerator(WorldGenerator gen, World world, Random rand, int chunkX, int chunkZ, int chance, int minHeight, int maxHeight)
{
if(minHeight > maxHeight || minHeight < 0 || maxHeight > 256) throw new IllegalArgumentException("Ore generated out of bounds");
int heightDiff = maxHeight - minHeight + 1;
for(int i = 0; i < chance; i++)
{
int x = chunkX * 16 + rand.nextInt(16);
int y = minHeight + rand.nextInt(heightDiff);
int z = chunkZ * 16 + rand.nextInt(16);
gen.generate(world, rand, new BlockPos(x, y, z));
}
}
}