Авторизация:
Логин:

Пароль:


Зарегистрироваться
или войти при помощи:



Управление вложениями:X
+ Загрузить файл
Предварительный просмотр сообщения:X
Все форумы -> Программирование
Упрощение кода (Minecraft Forge 36.0.42)


Gregorius_MC

Регистрация: 20.11.2015
Сообщений: 10
Тем: 4





27.02.2021 в 10:57:56 (редактировалось 27.02.2021 в 10:59 пользователем Gregorius_MC)#1
Всем доброго времени суток! Я потихоньку пишу свой мод на майн (1.16.5, Forge 36.0.42). Код полностью рабочий, но уж больно громоздкий, хотелось бы его упростить. Есть некий код, представленный ниже:
main.java⬇⬇


Этот код предназначен для моих дверей, чтобы в модели отображалась прозрачность. Всё это прекрасно работает, но я бы хотело сократить это до одной строчки, но не знаю, как запихать все "объекты типа дверь" в одну строку, так как в программировании не разбираюсь. В классе, где регистрируются объекты, существуют не только двери, и хотелось бы выбрать и подставить именно нужные значения. Кусок кода из того класса, откуда нужно брать данные, ниже:
BlockInit.java⬇⬇


К сожалению я совсем не программист, и понятия не имею, как выбрать то, что нужно, и даже как правильно объяснить тоже не знаю) Заранее спасибо за помощь, и пожалуйста не кидайтесь тряпками)


One_Of_Us

Регистрация: 18.05.2015
Сообщений: 671
Тем: 12





01.03.2021 в 10:08:02 (редактировалось 01.03.2021 в 10:09 пользователем One_Of_Us)#2
Ну, в одну строчку не получится, но сократить можно. Например, в BlockInit сделать лист (сет) и добавить в него все двери, а потом в Main перебрать это итератором (в цикле).


public static final List<RegistryObject<DoorBlock>> doors = new ArrayList<>();
.......
doors.add(door_green);
doors.add(door_aqua);
........

и перебрать


for (RegistryObject<DoorBlock> door : BlockInit.doors) {
RenderTypeLookup.setRenderLayer(door.get(), RenderType.getCutout());
}
<< 1


© ZigTheHedge & Elfa. 2019-2020.