Целесообразность использовать метадату для брёвен

667
7
2
Вообщем мне нужно сделать брёвна (Блок брёвен). Примерно таких же как в TerraFirmaCraft, но помимо бревен из ванильного Minecraft'a мне еще нужны брёвна из древесины которая добавляется другими модами. Например:
  • Twilight Forest
  • natura
  • thaumcraft
Будет ли проще если я сделаю это через метадату? И есть ли способ не ограничиваться 16 видами брёвен?
images
 
667
7
2
AlexSocol написал(а):
Будет. И проще и логичнее.
Про метадату больше 16 не знаю :D
В GregTech материалов в виде слитков намного больше чем 20 видов, конечно возможно там вообще не метадата.
 
667
7
2
Agravaine написал(а):
Для предмета можно больше, чем 16 метадат.
То есть с предметами можно делать бесконечное количество метадат? Ну я в пределах разумного, или есть ограничение например 512?
[merge_posts_bbcode]Добавлено: 04.07.2016 02:58:31[/merge_posts_bbcode]

Может есть способ сделать это с блоками?​
 

timaxa007

Модератор
5,831
409
672
virysD написал(а):
То есть с предметами можно делать бесконечное количество метадат?
До 32767, если я не ошибаюсь. (Так-же можно и отрицательное значение давать -32768, но лучше использовать отрицательное значение.)

virysD написал(а):
Может есть способ сделать это с блоками?
С нормальными блоками - нет.
 
667
7
2
timaxa007 написал(а):
С нормальными блоками - нет.
Эх, ладно. Тогда брёвна лучше делать обычным способом? Или ограничится 16 видами, думаю уложится можно.
 

timaxa007

Модератор
5,831
409
672
Делай как хочешь. Я не могу знать всех функции твоих брёвен.
 
667
7
2
timaxa007 написал(а):
Делай как хочешь. Я не могу знать всех функции твоих брёвен.
Как в TFC крафт угля я делать не буду, чисто декоративные брёвна из разного типа дерева. Но я еще планирую сделать еще один вид брёвен, они будут делаться из этих. Суть тех вторых брёвен:
  • Также как и первые эти брёвна из разного типа дерева.
  • В отличии от первых имеют модель "связанных" брёвен. Как альтернатива блокам дерева и рельсам.
Пока что я вижу только два способа. Первый обычные блоки, второй ограничится 16 вариантами.
[merge_posts_bbcode]Добавлено: 04.07.2016 03:20:02[/merge_posts_bbcode]

Из функций это только поворот текстуры на 6 сторон, также как вертится поршень.
 
667
7
2
Видел на форуме что то связанное с крафтами и метадатой, вот только что это может быть?
[merge_posts_bbcode]Добавлено: 04.07.2016 09:19:21[/merge_posts_bbcode]

P.s Если сделать например блок: брёвна2, и к нему привязать метадату получается у меня уже будет 32 метадаты нацеленных на брёвна. И как я понял это можно провернуть свободно или есть загвоздка?
 
398
4
7
Что-то я не вполне понимаю. Блок бревен должен поворачиваться? Если должен, то целесообразно использовать метадату только для поворота.
Я вижу один простой вариант - в конструкторе класса блока принимать текстуру и (или) цвет, можно еще что-нибудь. Создавай экземпляры этого класса с разными текстурами и регистрируй эти блоки по отдельности.  Даже может быть получится это сделать автоматически по ore dictonary.
 
667
7
2
Тогда лучше не засорять метадату, а просто в папке с блоками создать папку брёвна (это для удобства, будут еще мешки, бидоны и др). Как я предполагаю блоки дерева поворачиваются только из за того что у них не все метадаты заняты?
 
667
7
2
Кстати, а можно ли к метадате привязать тайлэнтити а к нему модель?
 
4,045
63
645
Не нужна тебе папка "брёвна". Тут вообще можно одним классом обойтись. Главное правильно всё прописать.
Просто регистрируешь свой класс столько раз, сколько тебе нужно и каждый раз присваиваешь ему новую текстуру...
 
667
7
2
С этим разобрался но, есть проблема мне нужно вращать блок мои "брёвен" также как дерево.
 
4,045
63
645
Смотри, как сделано в дереве или в блоке кварца.
Во-первых, у него там свой рендер, вроде..., вращающий боковую текстуру в зависимости от меты.
Во-вторых, каждый поворот - это своя мета... При этом некоторые из вариантов сливаются в один... Есть для этого специальные методы... Ищи.
 
1,976
68
220
IRotatedPillar в помощь
[merge_posts_bbcode]Добавлено: 06.07.2016 20:32:10[/merge_posts_bbcode]

Liahim написал(а):
каждый поворот - это своя мета...
Да нифига, не заливай. Метадата у брёвен - это их тип. 17:0 - дуб, 1 - ёлка, 2 - берёза, 3 - пальма
 
667
7
2
Так,... Получается я могу использовать метадату для типа бревна и поворот?
 
398
4
7
AlexSocol написал(а):
IRotatedPillar в помощь
[merge_posts_bbcode]Добавлено: 06.07.2016 20:32:10[/merge_posts_bbcode]

Liahim написал(а):
каждый поворот - это своя мета...
Да нифига, не заливай. Метадата у брёвен - это их тип. 17:0 - дуб, 1 - ёлка, 2 - берёза, 3 - пальма

h_1467837585_9026858_f70ccc8166.png

[merge_posts_bbcode]Добавлено: 07.07.2016 01:56:29[/merge_posts_bbcode]

Я бы делал так:
- Один класс "бревна", конструктор которого принимает текстуру бревна и прочие параметры
- Там где регистрируем блоки, насоздавать набор объектов "бревно" с разными параметрами. Зарегистрировать эти объекты, тогда в игру добавятся все эти бревна с разными ид.
- При установке игроком блока устанавливать метадату в соответствии с направлением взгляда игрока.
Игрок смотрит скорее вниз или вверх - число №1, сорее на север или на юг - число №2, скорее на запад или восток - число №3.
Если у нас версия <= 1.7.10, то в методе getIcon в зависимости от метадаты и номера стороны возвращаем нужную иконку.
 
1,976
68
220
Даже так? Сорян, не знал :D
[merge_posts_bbcode]Добавлено: 07.07.2016 14:16:56[/merge_posts_bbcode]

А какая метадата тогда у полностью обрезанного (без коры вообще) блока?
 
Сверху