- 38
- 2
- 1
Доброго дня
Решил все же протестировать мод в условиях реального клиента майнкрафта, а не запусков грабли, поэтому взял волю в кулак и прописал пресловутое
Хотя сам метод в коде есть, и запуск из идеи меня никак не предупреждал, что могут возникнуть проблемы.
Прошу помочь мне разобраться в этой чертовщине, потому как я своими неумелыми руками только и делал, что обновлял маппинги парчмента с 26.06.2023 на 03.09.2023 и судорожно прописывал
Заранее спасибо!
Решил все же протестировать мод в условиях реального клиента майнкрафта, а не запусков грабли, поэтому взял волю в кулак и прописал пресловутое
./gradlew build. При запуске клиента получаю краш (лог прикрепляю), который ссылается на отсутствующий метод в инжекте:[CODE lang="java" title="Ошибка из лога"]org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on restoreFrom could not find any targets matching 'restoreFrom(Lnet/minecraft/server/level/ServerPlayer;Z)V'[/CODE]Хотя сам метод в коде есть, и запуск из идеи меня никак не предупреждал, что могут возникнуть проблемы.

Метод с инжектом:
@Inject(method = "restoreFrom (Lnet/minecraft/server/level/ServerPlayer;Z)V", at = @At(value = "TAIL"))
public void restoreFrom(ServerPlayer pThat, boolean pKeepEverything, CallbackInfo ci) {
CompoundTag old = ((IDietContainer) pThat.getFoodData()).the_most_complete_food_mod_1_20_1$save();
if (old != null) {
((IDietContainer) self().getFoodData()).the_most_complete_food_mod_1_20_1$load(old);
((IDietContainer) self().getFoodData()).the_most_complete_food_mod$setValue("water", 100.0f);
if (CommonModConfig.ALLOW_DEATH_PENALTY.get()) {
float penalty = CommonModConfig.DEATH_PENALTY.get().floatValue();
((IDietContainer) self().getFoodData()).the_most_complete_food_mod_1_20_1$applyPenalty(penalty);
}
}
}
./gradlew cleanЗаранее спасибо!