- 2,932
- 44
- 598
Доброго времени суток Земляне и Чужие!
Сегодня у меня появился такой вопрос: Я вот сделал руду, и хочу к ней прикрутить генерацию. Перепробовал уже два генератора ( World Generation: Ore и Всё о рудах )
Не один из них не хочет генерировать руду в обычном мире.
Сейчас я вот остановился на таком варианте:
Вот так вот зарегистрировал генератор:
Common proxy:
Я думал проблема в том что к руде прикручен ОрДикшенари и в генераторе Таумкрафта тоже юзаеться ОрДикшенари и он спавнит мой руды, но проблема оказалось не в этом.
Сегодня у меня появился такой вопрос: Я вот сделал руду, и хочу к ней прикрутить генерацию. Перепробовал уже два генератора ( World Generation: Ore и Всё о рудах )
Не один из них не хочет генерировать руду в обычном мире.
Сейчас я вот остановился на таком варианте:
Java:
public class MistyThaumcraftWorldGenerator implements IWorldGenerator {
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
if (world.provider.getDimension() == 0) {
generateOverworld(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
}
}
private void generateOverworld(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
generateOre(RegisterBlocks.ore_amber.getDefaultState(), world, random, chunkX * 16, chunkZ * 16, 15, 180, 4 + random.nextInt(4), 6);
}
private void generateOre(IBlockState ore, World world, Random random, int x, int z, int minY, int maxY, int size, int chances) {
int deltaY = maxY - minY;
for (int i = 0; i < chances; i++) {
BlockPos pos = new BlockPos(x + random.nextInt(16), minY + random.nextInt(deltaY), z + random.nextInt(16));
WorldGenMinable generator = new WorldGenMinable(ore, size);
generator.generate(world, random, pos);
}
}
}
Java:
public class RegisterGenerators {
public static void register() {
GameRegistry.registerWorldGenerator(new MistyThaumcraftWorldGenerator(), 3);
}
}
Java:
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event)
{
RegisterGenerators.register();
}
public void init(FMLInitializationEvent event)
{
}
}