Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Сделал блок, при срабатывании которого в него должна бить молния. Блок представляет из себя инвентарь с 1 ячейкой, в котором через рандомный интервал времени содержимое, если оно соответствует требованиям, заменяется на другое. Делается это в методе update в ITickable. Если содержимое коробки...
Как можно сделать блок, в котором есть 1 ячейка инвентаря? При помещении в ячейку определённого предмета предмет должен исчезать, в блок ударять молния а над блоком или же в ячейке инвентаря спавниться другой предмет. С молнией, предметом на входе и на выходе более-менее понятно. Что совершенно...
Спасибо! Да уж, если надо что-то прятать - то лучше на самом видном месте: там никто не станет искать... И как меня угораздило забыть? Походу бухой был когда в прошлый раз делал блок... 🍺o_O🍺
Стал делать блок, на основе вот этого туториала: Создание блока - MC Modding Учебник
По нему я когда-то делал самый первый мод на блок, и столкнулся с той же проблемой (блок в мире отображается а в инвентаре нет), потом нашёл решение, но уже забыл что и как надо было исправить. Вот как выглядит...
А в самом низу написано "у вас недостаточно прав". Не самый продуктивный способ избежать дезинформации. Уместнее было бы, вместо того чтобы ждать, когда (и если) кто-то с правами на добавление тутора прочитает тему и добавит, дать возможность писать туторы всем, но публиковать только после...
Т.к. писать в туториалы у меня допуска нет, выкладываю тут:
// Подсказываем NPC выгодный бизнес, до которого они сами не додумались...
import java.util.Random;
import net.minecraft.entity.IMerchant;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.init.Items;
import...
Спасибо огромное!
Наверное, надо теперь подчистить классы от всякой хрени добавленой для дебага и выложить как туториал, чтобы другим потом проще было разобраться с этим.
Вот так работает:
[CODE lang=java]
Random rand = new Random();
int careerId = profession.getRandomCareer(rand);
profession.getCareer(careerId).addTrade(1, new Trades());
[/CODE]
Короче, хотя в игре священник называется cleric в коде он "minecraft : priest", но совершенно непонятно какое значение надо указывать в getCareer() - что ни укажи, всё пишет что нету такого. Пробовал и на сайтах искать, и через NBTEdit подсмотреть - фигушки, там написано что значение 1 но оно...
Так, в общем, заменил cleric на nitwit и всё заработало, ранее совершенно бесполезный непись стал продавать предмет. Осталось разобраться, как правильно указать священника.
Так оно логов не пишет... Тупо крашит без обьяснения. Но я попробовал поместить код в EventsHandler и переделать его, чтобы выловить место где запарывается через try и catch... Вот что в итоге вышло:
@SubscribeEvent
public void...
Да, засунул этот код в init в главный класс - и вот что выкинуло:
[21:45:36] [main/INFO] [GradleStart]: Extra: []
[21:45:36] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Alchemist/.gradle/caches/minecraft/assets, --assetIndex, 1.12...
То, что в посте #13 крашит вот так (код просто скопипастил):
[19:42:35] [main/INFO] [GradleStart]: Extra: []
[19:42:35] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Alchemist/.gradle/caches/minecraft/assets, --assetIndex, 1.12...
В Main в смысле в главный класс мода? В preInit или куда? Код сейчас вот такой:
package com.madalchemist.godsanddemons;
import java.util.Random;
import net.minecraft.entity.IMerchant;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.init.Items;
import...