Бонусный. Block.Properties

Привет. Если вы прошли прошлые уроки, то могли заметить, что я забыл о свойствах блоков. Инструмент там, скорость добычи, свет. А блоков-то наделали кучу. Время это исправлять! Урок будет довольно коротким, так что поехали.

Просто некоторые важные свойства

Вы же знаете, что есть блоки, сквозь которые можно спокойно пройти. И используя doesNotBlockMovement():

Создаст блок на основании каменного материала, который будет при этом проходимым как для игрока, так и для мобов.

Далее все функции можно вызывать аналогично этой.

Далее notSolid(), который мы уже использовали для создания блока с моделью и стекла. Этой функцией мы указываем игре, что блок имеет не сплошную модель (или прозрачную текстуру) и блоки под ним так же нужно нарисовать.

slipperiness(0.98f) — скользкость блока. Именно такую функцию (и такое же значение) имеют все блоки льда. На этих блоках игрок будет быстрее бегать.

А при помощи speedFactor(0.4f) можно добавить блоку эффект замедления, подобный песку душ или блоку мёда. Для прыжка есть аналогичная функций jumpFactor(0.5f).

Чтобы изменить звук при ходьбе и добыче блока, нам нужно использовать функцию sound(SoundType.WOOD) (тут я указал звук дерева, но в SountType.java их там больше 20, так что в случае чего ищите подходящий). Кстати, надо будет сделать урок по своим звукам! Потом…

Интересная функция lightValue(15), т.к. она определяет излучаемый блоком свет. Максимум это 15, так что больше ставить нет смысла.

Уже знакомая hardnessAndResistance(2f) позволяет указать прочность блока при добыче, а так же его взрывоустойчивость (вторым параметром, если же параметр только один — он будет общим для обеих величин). Есть еще специальная zeroHardnessAndResistance(), которая делает их равными нулю.

Если ваш блок копирует дроп другого блока, то можно использовать функцию lootFrom(Blocks.TORCH) — выпадет факел.

И, наконец, самое важное для полноценного мода! harvestTool(ToolType.PICKAXE) позволяет указать каким инструментом нужно добывать блок, а harvestLevel(2) — уровень инструмента. Уровень для разных материалов можно посмотреть в файлике ItemTier.java.

Там появился еще незерит, он будет скорее всего 4

Как видите, второй тир это железо, а инструмент кирка. Из этого следует, что добыть наш блок можно только киркой, и должна она быть как минимум железной.

На этом пока все. Спасибо за внимание!

Добавить комментарий