Можно ли сделать рецепт, который требует ...

Версия Minecraft
1.19.2
API
Forge
Можно ли сделать рецепт, который требует ... больше 1 предмета в любом слоте верстака?
Например для позиции i, хочется 64 штуки слитка железа.
Или каждый элемент может быть только в единичном количестве?
123:
{
    "type": "minecraft:crafting_shaped",
    "pattern": [
        "#iI",
        "OGO",
        "RCR"
    ],
    "key": {
        "#": {
            "item": "minecraft:iron_axe"
        },
        "i": {
            "tag": "forge:ingots/iron"
        },
        "I": {
            "item": "minecraft:iron_pickaxe"
        },
        "O": {
            "tag": "forge:obsidian"
        },
        "G": {
            "tag": "forge:storage_blocks/gold"
        },
        "R": {
            "tag": "forge:dusts/redstone"
        },
        "C": {
            "item": "minecraft:crafting_table"
        }
    },
    "result": {
        "item": "simpleplanes:plane_workbench"
    }
}
 
69
3
42
Решается созданием собственного верстака
Ошибаешься. Можно и в ванильном, с кастомным типом рецепта + одним миксином (Не уверен, что миксин обязателен. Возможно, и без него можно удалить весь стак после крафта).
 
172
5
14
Ошибаешься. Можно и в ванильном, с кастомным типом рецепта + одним миксином (Не уверен, что миксин обязателен. Возможно, и без него можно удалить весь стак после крафта).
Ну такой себе вариант, как ты будешь в jei это отображать.
Но в целом можно и так
 
Последнее редактирование:
172
5
14
mixin это уже хак по-сути.
дай ссылку на инфу.
 
69
3
42
mixin это уже хак по-сути.
Это самый полезный инструмент для моддинга, так как он позволяет безопасно и напрямую патчить любой кусок кода вместо тысячи костылей и полотна из обходных путей. Интеграцию с jei тоже можно без проблем сделать миксином.

К слову, подобные патчи - основа моддинга любых Java игр. При правильном использовании они не будут вызывать краши и не будут конфликтовать с другими патчами.
 
Последнее редактирование:
1,371
112
241
Это самый полезный инструмент для моддинга, так как он позволяет безопасно и напрямую патчить любой кусок кода вместо тысячи костылей и полотна из обходных путей. Интеграцию с jei тоже можно без проблем сделать миксином.
Ну хз-хз. Я бы сделал кастомный Container, который принимает рецепты как из обычного верстака, так и кастомного RecipeType. Отдельную категорию в JEI для своего RecipeType.
А дальше миксин в верстак на открытие своего Cointainer, а не ванилльного. Или вообще через эвент, если Forge.

Почему? БОльшая совместимость. Миксин миксину рознь - если и использовать их, то только если уверен, что этот участок кода не будет изменён другим миксином (или не предполагаешь, что его вообще будут менять) (не касается TAIL и HEAD).
И кидать миксин в чужой API - выглядит как-то костыльно, если честно =/
 
1,371
112
241
А где, вы узнаете инфу о всех классах и их проекциях в мире майна?
В исходниках майна.
Доки на Forge сухая инфа, и не поймешь нахрена нужен тот или иной класс.
Хотелось бы картинки и описание класса, который это реализует в мире.
Там всё логично и понятно. В особенности, если умеешь в английский.
Vanilla:
Container - инвентари, различные печки и пр.
Screen - экран. ContainerScreen<T> - экран какого-то инвентаря
BlockEntity - печки, различные блоки, сохраняющие в себе инфу, отличную от BlockState.
Block - блок
Item - предмет
Entity - сущности (от простых предметов до сложных варденов)
BlockRenderer, BlockEntityRenderer, EntityRenderer, etc. - различные рендеры тех или иных объектов.
Level (World) -> ServerLevel, ClientLevel - работа с миром здеся (самому от этого наследоваться не надо)
RecipeType - кастомные рецепты
SoundType - кастомные звуки

Non-vanilla:
Event (только Forge, у Fabric миксины) - если нужно что-то от ваниллы, чтобы выполнялось кастомное (напр. при нажатии на ванилльный камень ванилльной палкой выдавать свой предмет)
DataGen (полу-полу) - генерация простых json'ов моделей, рецептов и пр.
Packet (пакетная система в ванилле и в forge работает несколько иначе, ибо создаётся отдельный канал для пакетов) - пакеты для обмена инфой клиент<->сервер
Mod (аннотация) - всё, связанное с модом.
Аннотация конфигов может отличаться от версии к версии, не привёл её здесь.

Для 1.14+ вот эти штуки в коде. Всё остальное, как правило, в датапаках. Названия могут отличаться в зависимости от версий, однако примерно схожи.
В целом, это все объекты и примеры их "в мире", которые могут понадобиться при разработке +- простого мода. Если хочешь создать что-то посложнее - добро пожаловать в исходники, там очень много информации, о которой даже в ForgeDocs ни сном, ни духом.
 
Погоди) ты не понял.
Хочется натурально знать соотвествие между классами и объектами 3д мира майна.
То есть, чтобы ктото взял скриншот ,например, инветаря и описал стрелками какая часть инветаря к какому классу принадлежит.
И так со всеми.
 
69
3
42
Миксин миксину рознь - если и использовать их, то только если уверен, что этот участок кода не будет изменён другим миксином
Сразу видно человека, который не умеет ими пользоваться. Не конфликтующими типами миксинов можно добиться любой кастомной логики. Особенно с MixinExtras.
 
Сверху