Слой текстуры предмета от NBT

Версия Minecraft
1.18.1
API
Forge
627
72
178
Какими способами можно предметам НЕ из своего мода добавить второй слой в зависимости от нбт булев-тега? С моделями и рендером на новых версиях максимально незнаком. В инете читал про Baked модели, но не особо понял что да как мне нужно. Может кто поподробнее рассказать? Или привести пример каких нибудь модов где это реализовано. Пожалуйста, не тинкерс констракт, закопаюсь в слоях абстракции..
 
Последнее редактирование:
Решение
Самое простое - увеличить все квады по оси Z на маленькое, но достаточное значение и сдвинуть вполовину этого по той же оси.
Проще всего это сделать при помощи Endothermic:
Java:
List<BakedQuad> quads = ...;
List<BakedQuad> fixedQuads = quads.stream()
    .map(LazyUnpackedQuad::apply)
    .map(q->q.scale(1, 1, 1.0015))
    .map(q->q.translate(0, 0, -0.0015/2))
    .map(LazyUnpackedQuad::toBakedQuad)
    .collect(toList());
7,099
324
1,510
Сколько раз вызывается getQuadsForSprite для одного и того же стака?
 
627
72
178
1 раз здесь:
Java:
  private ATMItemModel getModel(BakedModel originalModel, ItemStack stack) {
    ATMItemModel overrideModel = new ATMItemModel(originalModel);
      //на последнем скрине из конструктора ATMItemModel убрал вызов метода, добавляющего квады родительской модели
    if (ATMTagContainer.isAmethyst(stack)) {
      float delta = 0.0015f;
      overrideModel.addQuads(ItemLayerModel.getQuadsForSprite(0, ATLAS.apply(resolveSprite(stack.getItem())), TransformationHelper.toTransformation(new ItemTransform(new Vector3f(), new Vector3f(-delta / 2, -delta / 2, -delta / 2), new Vector3f(1 + delta, 1 + delta, 1 + delta)))));
    }
    return overrideModel;
  }
Java:
public void addQuads(List<BakedQuad> collection) {
    quads.addAll(collection);
  }
 
627
72
178
ещё чуть проверок: Onyx Pickaxe внесён через конфиг в чёрный список и в отличие от Copper Pickaxe имеет ванильную модель. Количество квадов одинаковое: 44. Пока не могу найти в чём проблема, открывал ItemRenderer, смотрел как в нём рисуется foil-эффект, но ничего особого из этого не вынес (0 знаний о MultiBufferSource, нихрена не понял)
1654374969412.png1654374982446.png
 
Сверху