Шаг 1: Всегда спрашивайте себя: «Ваниль делает что-то подобное?»
В этом случае да, Ваниль создает взрывы.Не когда сущность сталкивается с блоком, но это просто , когда делает это, а не как это делает.В данном случае EntityTNTPrimed
- это тот класс, который нам нужен.
В нем мы находим этот метод:
private void explode()
{
float f = 4.0F;
this.world.createExplosion(this, this.posX, this.posY + (double)(this.height / 16.0F), this.posZ, 4.0F, true);
}
Вуаля.Теперь мы знаем, как делать взрывы.Копировать, вставлять, вызывать, когда мы хотим, чтобы это произошло.Шаг 2 не требуется.
Теперь о некоторых других вещах ...
Это общие проблемы, с которыми я сталкиваюсь все время, и их также необходимо исправить.
IHasModel
это глупо. Все элементы нуждаются в моделях, и вся информация, необходимая для регистрации модели, является общедоступной.Использование таких интерфейсов - это анти-паттерн, и вы выбрали его из учебника Youtube, сделав это практикой Cargo Cult Programming .Вам это вообще не нужно никогда.Просто позвоните ModelLoader.registerCustomModel()
прямо в ваш ModelRegistryEvent
обработчик - "Мне нужно пройти через мой прокси!"ты говоришь.Ваш обработчик
ModelRegistryEvent
должен уже быть в прокси вашего клиента. Класс ModelRegistryEvent
только для клиента. - Я, вероятно, даже могу сказать вам, что такое видео YTвы смотрели и связывали вас напрямую с моим комментарием, в котором говорилось автору, что
IHasModel
глупо.Если я ошибаюсь, я пойду и сделаю комментарий.
TNTBase
скажет, что у вас также есть класс BlockBase
где-то, что большинство вашихблоки расширяются (или это тот класс).Это еще один антипаттерн: использование наследования для повторного использования кода. - Вы не являетесь владельцем icearrow26.com, поэтому не следует использовать его в качестве идентификатора вашего пакета (Minecraft использует
net.minecraft
, поскольку они владеют Minecraft.net!) Вы должны использовать mod
вместо com
или опустить все это вместе. - У вас почти наверняка есть класс
CommonProxy
.Это глупо.Общий код может входить в ваш основной класс модов. Весь смысл прокси-системы состоит в том, чтобы отличать клиента от сервера и разрешать вызов кода, который может быть вызван только с одной стороны.одна сторона, не разбивая другую с неизвестными ссылками.Общий код может пойти куда угодно, ему не нужен прокси.
Дополнительная информация