Иконка ресурса

Многоблочная структура

ReyMagos

Тег-бомбастер
412
7
121
Rey838 добавил(а) новый ресурс:

Ещё в разработке, если что-то не так, пишите. - Создание многоблочной структуры

Многоблочная структура

В прошлой статье я рассказывал, как сделать хитбокс для блока, а в этот раз мы будем делать полноценную многоблочную структуру. Во время написания кода интерпретатор будет говорить об ошибках, но не стоит волноваться, в конце всё будет по фэншую.

Сначала, как всегда основной класс

Java:
public class BlockTable extends BlockHorizontal {
    public static final...

Узнать больше об этом ресурсе...
 
1,470
19
189
В основном классе в конце конструктора скобку пропусти фигурную
 
166
2
46
Может быть полезным для небольших мультиблочных машинок...
(детально не смотрел, но думаю, что все по феншую)
 

ReyMagos

Тег-бомбастер
412
7
121
Есть одна проблема в коде. Если я кликаю со столом в руке по боковой стороне блока, то он устанавливается на блок выше, чем надо. Чтобы устранить это надо как-то узнать сторону по которой я кликнул в EventHandler. Если, кто знает скажите.
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Ниочем, если честно.
А если мне нужно добавить блоков? Тут копипастить одинакового кода.
Мне кажется нужно замутить тайл, в котором хранить как бы родительский блок.
И когда ломаешь дочерний, достаешь коорды родителя и уже через него ломаешь все остальные.
 
2,932
44
598
Ну, такое себе если честно...
(Нет ты конечно постарался, молодец!)
Но я советую почитать разные темы по поводу мультиблоков, может что-то подчеркнёшь для себя, и дополнишь этот туториал.
 
Последнее редактирование:

ReyMagos

Тег-бомбастер
412
7
121
Я вообще начал писать гайды по мере того, как узнавал что-то новое (я новичок в моддинге). А тут увлёкся и отошёл от создания своего мода. Я делаю мод на растения и продукты (палки для растений в предыдущей статье оттуда), а тут пришлось уйти от темы, вот и получилась фигня. Поэтому я буду делать гайды, но только на известные мне темы. Эту тему я пока оставлю.
 
917
22
332
Слушай, туториал отличный и полезный, только добавить скрины и название изменить
 
3,005
192
592
@Крокодил попахивает некропостом))

По поводу гайда - если мне нужна структура 3х3х3, то этот гайд не подойдет? (потому что там идет все в мету)
 
7,099
324
1,509
В рецензии обещал показать че улучшить в коде
getStateFromMeta - можно упростить до одной строки: EnumPartType.values()[meta]
getMetaFromState - можно упростить до одной строки: state.getValue(PART).ordinal()
В onSetTable стоит вынести в отдельный метод проверку наличия свободного места
worldIn.isAirBlock(pos) && worldIn.isAirBlock(pos.north(1)) && worldIn.isAirBlock(pos.east(1)) && worldIn.isAirBlock(pos.north(1).east(1))

И на счет кусков кода, не относящихся к теме непосредственно
Вот это можно было не включать в статью
Java:
 super(Material.WOOD);
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setHardness(0.01f);
this.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);

@Override
public boolean isFullCube(IBlockState state) {
    return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
    return  false;
}
 
Сверху