[1.7.10]Физика блоков с кастомной моделью

Статус
В этой теме нельзя размещать новые ответы.
156
0
Вечер добрый всем форумчанам! Собственно, у меня таков вопрос: как присобачивать к блоку с кастомной моделью коллизию нужного размера и формы?
 
По моему это нельзя назвать функцией. Это метод.
В джаве вроде как нет функций вообще, разве что анонимные классы чем-то похожи на функции. Хотя могу ошибаться, все же я не программист.

setBlockBounds - задает рамку выделения (при наведении на блок). setBlockBounds можно вставить в конструктор блока.
Еще есть метод setBlockBoundsBasedOnState, который вызывается каждый раз при наведении "прицела" на блок, в этом методе тоже можно вызвать setBlockBounds.
Если необходимо добавить несколько параллепипедов, на которые "опираются" энтити, то это можно сделать в методе addCollisionBoxesToList
Примеры можно посмотреть в коде забора.
 
Asd73 написал(а):
Если необходимо добавить несколько параллепипедов, на которые "опираются" энтити, то это можно сделать в методе addCollisionBoxesToList
Примеры можно посмотреть в коде забора.
Вставил во такой код в класс своего блока
Код:
public void addCollisionBoxesToList(World p_149743_1_, int p_149743_2_, int p_149743_3_, int p_149743_4_, AxisAlignedBB p_149743_5_, List p_149743_6_, Entity p_149743_7_) {

            this.setBlockBounds(-1.0F, -1.0F, 1.0F, 1.0F, 1.5F, 1.0F);
            super.addCollisionBoxesToList(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_, p_149743_5_, p_149743_6_, p_149743_7_);
    }
Коллизия работает только в высоту.
[merge_posts_bbcode]Добавлено: 27.01.2016 22:38:43[/merge_posts_bbcode]

Asd73 написал(а):
По моему это нельзя назвать функцией. Это метод.
В джаве вроде как нет функций вообще, разве что анонимные классы чем-то похожи на функции. Хотя могу ошибаться, все же я не программист.
И да, если уж на то пошло, то Java - это тот же C++, только полностью объектно-ориентированный. Только вот разрабы Java решили "понтануться" и создать свои термины для таких устоявшихся вещей, как переменные и функции класса.
 
Блок может быть больше "стандартного" только в высоту, для x и z диапазон от 0 до 1.
К тому, же у тебя обе z одинаковые, поэтому, может некорректно работать,хоть небольшую разницу желательно делать
 
MegaINS написал(а):
Блок может быть больше "стандартного" только в высоту, для x и z диапазон от 0 до 1.
К тому, же у тебя обе z одинаковые, поэтому, может некорректно работать,хоть небольшую разницу желательно делать
Именно поэтому я обратился на форум, чтобы выяснить - можно каким-либо способ расширить эту коллизию и по осях x и z.
 
Простым способом нельзя. Даже кровать, это два блока.
Нужно ставить невидимые блоки и давать им коллизию
 
MegaINS написал(а):
Простым способом нельзя. Даже кровать, это два блока.
Нужно ставить невидимые блоки и давать им коллизию
А сложным способом? Не, невидимые блоки не подходят.
 
Oldestkon написал(а):
Чем это не подходят?
На самом деле, я тут немного подумал о невидимых блоках, и сделал вывод: если мне не получится написать кастомные коллизии для моих блоков, то собственно придется использовать данную методу)
[merge_posts_bbcode]Добавлено: 28.01.2016 12:03:46[/merge_posts_bbcode]

Тему можно закрывать.
 
Asd73 написал(а):
По моему это нельзя назвать функцией. Это метод.
В джаве вроде как нет функций вообще, разве что анонимные классы чем-то похожи на функции. Хотя могу ошибаться, все же я не программист.
А чем лямбды не функции?
 
Википедия говорит, что в Джава8 лямбды - анонимные функции.
 
Не стоит слепо верить википедии.
http://programmers.stackexchange.com/questions/195081/is-a-lambda-expression-something-more-than-an-anonymous-inner-class-with-a-singl
>For Java, yes, it's nothing more than a better way of creating an anonymous inner class. This is because of the fundamental decision in java that every bit of byte code has to live within a specific class, which cannot be changed now after decades of legacy code to consider.
Что подразумевает, что функций как таковых, как отдельных сущностей, вне класса, быть не может. Лямбды существуют только в контексте анонимных классов.
Хотя нарыл, на самом деле для них правда генерируется какой-то другой байткод, и реализованы они несколько иначе.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху