Рандомная текстура для блока

svk

1,185
3
В ресурспаках, mcpather (Видимо optifine?) есть такая фича.
Когда ставишь блок, ему даётся рандомная текстура из заданного списка.

Как такое реализовать? Можно через метадату, но метадата равна максимум 16? Значит и текстур придётся делать не больше 16?
 
Agravaine написал(а):
Разве? Вроде у мобов только.
Нет, в ресурс паке создаётся папка mcpather, затем внутри ctm, но вот беда, такую текстуру можно сделать только для стандартного блока :(
Создаётся папка grass. Заливается нужное количество файлов, затем создаётся внутри grass.properties (К примеру) а там внутри пишется

Method=random
tiles=1-36
что-то вроде такого
[merge_posts_bbcode]Добавлено: 29.11.2015 20:29:10[/merge_posts_bbcode]

Хочу такое же, но модом... А как реализовать - хз.
 
Скорей всего, надо как-то изощрёно переводить координаты блока в число, в пределах 1-[количество текстур] (Так, что-бы сгенерированое число было всего одинаковым, но менялось в зависимости от координат)

Есть идеи как это сделать?
 
Расширенный вариант getIcon, где даётся мир, координаты и прочий бред
 
Dragon2488 написал(а):
Расширенный вариант getIcon, где даётся мир, координаты и прочий бред
Я про то, как из координат сгенерировать число от 1 - [Количество текстур]
 
svk написал(а):
Как такое реализовать? Можно через метадату, но метадата равна максимум 16? Значит и текстур придётся делать не больше 16?
Ну вообще да - очевидная метадата с ограничением в 16.
Но можно же подглядеть у оцелота, например, и хранить номер текстуры в NBT.
 
svk написал(а):
Я про то, как из координат сгенерировать число от 1 - [Количество текстур]

Операция "%" не подойдет? Только мне кажется это не очень хорошая идея, что на одном и том же блоке ВСЕГДА растет одна и та же трава. Да и вообще почему нельзя просто nextInt??
 
ChooseLife написал(а):
svk написал(а):
Я про то, как из координат сгенерировать число от 1 - [Количество текстур]

Операция "%" не подойдет? Только мне кажется это не очень хорошая идея, что на одном и том же блоке ВСЕГДА растет одна и та же трава. Да и вообще почему нельзя просто nextInt??
Потому что метод срабатывает при обновлении блока.
 
Agravaine написал(а):
в рандом укажи сид координаты
Это как? :D
[merge_posts_bbcode]Добавлено: 30.11.2015 18:30:16[/merge_posts_bbcode]

Спасибо за помощь, хоть и сам всё сделал :D

[merge_posts_bbcode]Добавлено: 30.11.2015 18:31:05[/merge_posts_bbcode]

new Random(x*y*z).nextInt(amount));

Получает псевдорандомное число из координат (Статическое).
 
Назад
Сверху