Прицелы, глушители и так далее.

1,316
37
261
У меня имеется рендер оружия. Я хочу устанавливать на него всякие приспособления типа рукояток, прицелов, глушитилей, дульных компенсаторов и прочего. Вопрос, как это сделать? Заранее спасибо.
 
Agravaine написал(а):
В нбт предмета храни булев переменную, установлен ли определенный обвес, а в рендере проверяй, что если установлен - рендерить.
Как его устанавливать еще.
 
fane4qa написал(а):
Agravaine написал(а):
В нбт предмета храни булев переменную, установлен ли определенный обвес, а в рендере проверяй, что если установлен - рендерить.
Как его устанавливать еще.
Руками.
По моему, он понятно объяснил.
 
В предмете:
Код:
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setBoolean("Обвес", false);
// Там, где добавляется обвес (это уже сам думай):
stack.stackTagCompound.setBoolean("Обвес", true);
В рендере:
Код:
if (stack.stackTagCompound.getBoolean("Обвес")) {
    model.renderObves();
}
 
удобней конечно не через булев делать,а через Integer для каждого навеса.
 
Конечно, лучше записать стак твоего навеса. Ведь их может быть до тысячи, а делать 1000 boolean типа:isFirst, isSеcond - долго
 
Какой такой integer? Ты собрался все возможные комбинации записать?
Вот есть: "прицел", "фонарик", "целеуказатель", "глушитель", "подствольный гранатомёт".
Если я правильно помню курс математики со школы (а это вряд-ли, но всё же :D), то такое считается факториалом, то есть 5! = 120. И что же проще, записать 5 boolean или на каждое значение из 120 комбинаций делать свой?
Даже если не 120, а просто 12. 5 < 12. То есть проще через boolean.
Ну или я тебя вообще не понял :happy:
 
Или проще записать стак, а также сделать абстрактный итем?
 
Ну  у тебя будет переменное кол-во навесов(аттачментов, attachments). Со временем они будут расти, и дабы не писать haveThose, haveAnother и делать кучу условий, можно записать стак в НБТ. Потом получить и шаманить с ним.
 
Мои мозги...
 
AlexSocol написал(а):
В предмете:
Код:
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setBoolean("Обвес", false);
// Там, где добавляется обвес (это уже сам думай):
stack.stackTagCompound.setBoolean("Обвес", true);
В рендере:
Код:
if (stack.stackTagCompound.getBoolean("Обвес")) {
    model.renderObves();
}
Пасиб. Попробую.
[merge_posts_bbcode]Добавлено: 05.06.2016 11:20:13[/merge_posts_bbcode]

И да, я создаю оружие в одну строку в одном классе. Хмммм, куда писать это?
 
Назад
Сверху