• Гость, темы в этой категории создаются через Ресурсы!
    После создания туториала в Ресурсах в этом форуме будет автоматически создана тема для обсуждения.
Иконка ресурса

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

Rey838

Каменная лига
Сообщения
118
Лучшие ответы
3
Симпатии
11
#1
Rey838 добавил(а) новый ресурс:

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

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

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

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

Java:
public class BlockTable extends BlockHorizontal {
    public static final...
Узнать больше об этом ресурсе...
 

Nix13

Железная лига
Сообщения
1,326
Лучшие ответы
17
Симпатии
107
#2
В основном классе в конце конструктора скобку пропусти фигурную
 

TheTestMod

Каменная лига
Сообщения
166
Лучшие ответы
2
Симпатии
44
#3
Может быть полезным для небольших мультиблочных машинок...
(детально не смотрел, но думаю, что все по феншую)
 

Rey838

Каменная лига
Сообщения
118
Лучшие ответы
3
Симпатии
11
#4
Есть одна проблема в коде. Если я кликаю со столом в руке по боковой стороне блока, то он устанавливается на блок выше, чем надо. Чтобы устранить это надо как-то узнать сторону по которой я кликнул в EventHandler. Если, кто знает скажите.
 

Agravaine

Команда форума
Сообщения
4,599
Лучшие ответы
197
Симпатии
653
#5
Ниочем, если честно.
А если мне нужно добавить блоков? Тут копипастить одинакового кода.
Мне кажется нужно замутить тайл, в котором хранить как бы родительский блок.
И когда ломаешь дочерний, достаешь коорды родителя и уже через него ломаешь все остальные.
 

Гарик

Золотая лига
Сообщения
2,640
Лучшие ответы
40
Симпатии
392
#6
Ну, такое себе если честно...
(Нет ты конечно постарался, молодец!)
Но я советую почитать разные темы по поводу мультиблоков, может что-то подчеркнёшь для себя, и дополнишь этот туториал.
 
Последнее редактирование:

Rey838

Каменная лига
Сообщения
118
Лучшие ответы
3
Симпатии
11
#7
Я вообще начал писать гайды по мере того, как узнавал что-то новое (я новичок в моддинге). А тут увлёкся и отошёл от создания своего мода. Я делаю мод на растения и продукты (палки для растений в предыдущей статье оттуда), а тут пришлось уйти от темы, вот и получилась фигня. Поэтому я буду делать гайды, но только на известные мне темы. Эту тему я пока оставлю.
 

Doc

Золотая лига
Сообщения
2,341
Лучшие ответы
126
Симпатии
302
#9
@Крокодил попахивает некропостом))

По поводу гайда - если мне нужна структура 3х3х3, то этот гайд не подойдет? (потому что там идет все в мету)
 

hohserg1

Алмазная лига
Сообщения
3,663
Лучшие ответы
92
Симпатии
434
#10
В рецензии обещал показать че улучшить в коде
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;
}
 
Сверху