Коротко о главном: Дерево и Мир

Версия Minecraft
1.7.10
5,018
47
783
Народ,хз ваще, не могу найти в гугле туторы по генерации дерева в мире. Про само дерево- пруд пруди, а про его генерацию в мире 0.
Что вообще для этого нужно?
p.s я у Тимахи спросил, но он как то расплывчато ответил... Решил его не терзать и спросить тут. Что нужно для генерации своего дерева в мире?

p.s.p.s Я вижу пока только один путь- вручную прописать коорды блоков и каким то образом это все мире размещать. А не... Чушь ведь.
 
Решение
Так, ясно, понятно...
Меня тут не слышат, а если и слышат - не понимают...
Буду выражаться яснее...
Пример: ты проверяешь есть ли под блоком x,z земля... Он говорит есть.
А ставишь ты блок дерева на х+1,z.
И удивляешься, а чё это он в воздухе висит?

Это только моё предположение... Но пример ясен?
Теперь иди и проверяй код!
5,018
47
783
Liahim написал(а):
Ты ж грибы генерируешь... Не судьба так же и дерево куда нужно поместить?

гриб то один, а дерево - многоблочная структура. Я именно что хз, как конкретные(рандомные или нет) координаты получать
 
5,018
47
783
Если я сделаю как ты говоришь, вы будете встречать в мире рандомно висящие блоки листвы и бревен :\

И я их никак не получаю. Я random.nextInt написал, а они дальше сами.
 
4,046
63
645
Тогда не удивительно, что у тебя многие грибы висели в воздухе...
Я ещё тогда не мог понять, как у тебя это вообще получилось?
А не пробовал соседние блоки проверять? Почву под грибом/деревом, например?
Тогда и висеть ничего не будет XD
 
5,018
47
783
Тогда не удивительно, что у тебя многие грибы висели в воздухе...
Ты в последней версии, хоть один такой гриб нашел?
Тогда потому что я по глупости пихал все в один невъебическихх размеров генератор, который работал через пень колоду. И чтобы его хоть как то разгрузить я брал блок дерева и от него на фиксированных коордах ставил гриб. Теперь рандомно и с проверкой.
Насчет второго твоего сообщения - я имел ввиду, что я не могу... Бл. Идея!


А нет, плохая идея. Продолжаем разговор!
 
5,018
47
783
Какие классы, методы, необходимы для генерации дерева в мире? Как блок одиночный генерить я знаю, а как структуру - нет.
 
5,018
47
783
Liahim написал(а):
Да тот же генератор, что и для гриба!
Я ж говорю.
Всё ТОЧНО ТАК ЖЕ!
Проверяешь блок земли, ставишь над ним ствол, выше ещё ствол, затем немного листвы по бокам... Прояви фантазию.

Да ну на. Really ?  точнякбол!
 

Icosider

Kotliner
Администратор
3,601
99
664
Liahim написал(а):
Да тот же генератор, что и для гриба!
Я ж говорю.
Всё ТОЧНО ТАК ЖЕ!
Проверяешь блок земли, ставишь над ним ствол, выше ещё ствол, затем немного листвы по бокам... Прояви фантазию.
Видимо ему религия не позволяет посмотреть ванильный генератор деревьев xD
 
1,057
50
234
BiomeDecorator
 
5,018
47
783
WildHeart написал(а):
Liahim написал(а):
Да тот же генератор, что и для гриба!
Я ж говорю.
Всё ТОЧНО ТАК ЖЕ!
Проверяешь блок земли, ставишь над ним ствол, выше ещё ствол, затем немного листвы по бокам... Прояви фантазию.
Видимо ему религия не позволяет посмотреть ванильный генератор деревьев xD

Еп. Я уже сделал все. Не генератор деревьев, а генератор деревьев в мире
 
1,057
50
234
Код:
// Tree
		for (i = 0; this.getGen(EventType.TREE) && i < this.treePerChunk; ++i)
		{
				int randPosX = this.chunkX + this.rand.nextInt(16) + 8;
				int randPosY = this.rand.nextInt(256);
				int randPosZ = this.chunkZ + this.rand.nextInt(16) + 8;
			
				new WorldGenBarnardaCTree(this.rand.nextInt(2) + 1, BRBlocks.BarnardaCLog, BRBlocks.BarnardaCLeaves, 0, 0, false, 3, 4, false).generate(this.getCurrentWorld(), this.rand, randPosX, randPosY, randPosZ);
		}

private boolean getGen(EventType event)
	{
		return TerrainGen.decorate(this.getCurrentWorld(), this.rand, this.chunkX, this.chunkZ, event);
	}
 
5,018
47
783
Итак. Вроде норм, но можно вопрос. 

Эм?
Код:
 if (world.getBlock(x1, y - 1, z1) == Blocks.grass && world.getBlock(x1, y - 1, z1) != Blocks.air) {
 Но все равно


Я даже персонально прописал,чтобы там был НЕ блок воздуха. Все равно ему пох.
 
5,018
47
783
Liahim написал(а):
Чувак! Не нужно проверять на воздух...
Ты же сам видишь, что ошибка в чём-то другом...
Проверяй код. У тебя проблемы с x и z, видимо...

У меня стоит проверка, если на y-1 блок травы и НЕ блок создуха, то ставить то что я указал. Но ему пофиг! В чем может быть с x и z, ваще не ясно.
 
4,046
63
645
Так, ясно, понятно...
Меня тут не слышат, а если и слышат - не понимают...
Буду выражаться яснее...
Пример: ты проверяешь есть ли под блоком x,z земля... Он говорит есть.
А ставишь ты блок дерева на х+1,z.
И удивляешься, а чё это он в воздухе висит?

Это только моё предположение... Но пример ясен?
Теперь иди и проверяй код!
 
Сверху