Jump to content


Photo

Генерация структур


  • Please log in to reply
3 replies to this topic

#1 Asd1995sse

Asd1995sse

    Странник

  • Пользователи
  • Active Posts4

Posted 09.01.2014 - 12:30

Здравствуйте! Меня интересует как можно сделать генерацию определенных структур в мире. Код нужен под 1.5.2И еще интересует как сделать генерацию определенной руды на определенном биоме.

#2 DeadLord

DeadLord

    Добытчик камня

  • Пользователи
  • Active Posts230

Posted 11.01.2014 - 00:47

Насчёт генерации руды, советую залезть в код Изумрудной руды. А генерацию структур можно найти в кодах храмов и данженов со спавнером, но там довольно сложно.
ИзображениеИзображениеИзображение
Изображение

#3 Asd1995sse

Asd1995sse

    Странник

  • Пользователи
  • Active Posts4

Posted 15.01.2014 - 11:37

Уроки на forge по этой тебе вообще есть?

#4 Asd1995sse

Asd1995sse

    Странник

  • Пользователи
  • Active Posts4

Posted 17.01.2014 - 12:44

Вот я генератор разработал! Все названия шуточные, т.к. это просто тестовая версия=) Регитртатор генератора:
GameRegistry[paste][/paste]registerWorldGenerator(new CHAESgen());
Файл генерации:
package AsdIC2mod[paste][/paste]Biomes;import java[paste][/paste]util[paste][/paste]Random;import net[paste][/paste]minecraft[paste][/paste]world[paste][/paste]World;import net[paste][/paste]minecraft[paste][/paste]world[paste][/paste]chunk[paste][/paste]IChunkProvider;import cpw[paste][/paste]mods[paste][/paste]fml[paste][/paste]common[paste][/paste]IWorldGenerator;public class CHAESgen implements IWorldGenerator{@Overridepublic void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider){switch(world[paste][/paste]provider[paste][/paste]dimensionId){case 0: generateSurface(random, chunkX*16, chunkZ*16, world);break;}}private void generateSurface(Random random, int chunkX, int chunkZ, World world){for(int k = 0; k < 80; k++){int xCoord = chunkX + random[paste][/paste]nextInt(16);int yCoord = random[paste][/paste]nextInt(64);int zCoord = chunkZ + random[paste][/paste]nextInt(16);(new StructurGen())[paste][/paste]generate(world, random, xCoord, yCoord, zCoord);}}}
Сам генератор структур:
package AsdIC2mod[paste][/paste]Biomes;import java[paste][/paste]util[paste][/paste]Random;import AsdIC2mod[paste][/paste]Base;import AsdIC2mod[paste][/paste]Blocks[paste][/paste]StoneDamage;import net[paste][/paste]minecraft[paste][/paste]block[paste][/paste]Block;import net[paste][/paste]minecraft[paste][/paste]block[paste][/paste]material[paste][/paste]Material;import net[paste][/paste]minecraft[paste][/paste]world[paste][/paste]World;import net[paste][/paste]minecraft[paste][/paste]world[paste][/paste]gen[paste][/paste]feature[paste][/paste]WorldGenerator;public class StructurGen extends WorldGenerator{@Overridepublic boolean generate(World world, Random random, int x, int y, int z){if(world[paste][/paste]getBlockId(x, y, z) == 0 || world[paste][/paste]getBlockMaterial(x, y, z) == Material[paste][/paste]water || world[paste][/paste]getBlockMaterial(x, y, z) == Material[paste][/paste]lava){return false;}//Baseworld[paste][/paste]setBlock(x, y, z, Base[paste][/paste]stoneDamage[paste][/paste]blockID);return true;}}
Можно сгенерировать только 1 блок и только из самой игры!! При генерации нескольких блоков - краш, при генерации блока из мода - краш! Что я делаб не так?


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users