При помощи кастомного IRecipe, там можно какую угодно логику задать через переопределение getCraftResult.
Вот в этом сливе рецепты столика сделаны через IRecipe, чекни класс RegistryEvents
Ранее делал мод про столики зачарования. Забросил и не знаю, когда вернусь к разработке. Но в нем есть несколько интересных решений, которыми стоило бы поделиться. Реализация декалей TileAssortedEnchantTableRenderer#applyDecal Работающий пример...
forum.mcmodding.ru
Это 1.12, но на 1.15 IRecipe выпилили. Чтобы заюзать идентичный подход можно использовать эту либу
Simple lib for FTB_lag mods. Contribute to DoctorFTB/Lag-s-Lib development by creating an account on GitHub.
github.com
Доков по ней нет(не зря же Док сменил ник, вот и доков нету), но она маленькая и можно легко разобраться в исходниках
~~~
Просто ловим CustomRecipeEvent, вызываем event.register(CustomRecipe.of(new IRecipe(){ ... } ))