- 10
- 0
Я хочу изменить наковальню таким образом чтобы при комбинировании 2 книг с максимальным зачарованием обходить ограничение максимального зачарования и все равно получать книгу на 1 уровень больше.
Пример:
Защита4 + Защита4 =Защита4 Защита5
Я нашел код который мне нужно изменить, вот он, выделен красным:

То есть нужно изменить конкретное if в классе AnvilScreenHandler, в методе updateResult, насколько я понял вот так:
Это:
На это:
Как это сделать?
Максимум до чего мой тормознутый мозг дошел это:
И я даже логикой понимаю что в выделенных мною строках нет никакой логики, и тут ничего работать не будет и не должно, но как мне это сделать? Подскажите пожалуйста, альтернатив как это сделать я вообще не нахожу.
Как достать переменную r из этого кода чтобы ее потом изменить если она обьявлена как int r; внутри метода? Что тут стоит сделать?
Пример:
Защита4 + Защита4 =
Я нашел код который мне нужно изменить, вот он, выделен красным:

То есть нужно изменить конкретное if в классе AnvilScreenHandler, в методе updateResult, насколько я понял вот так:
Это:
Java:
if (r > enchantment.getMaxLevel())
{
r = enchantment.getMaxLevel();
}
Код:
if (r > enchantment.getMaxLevel())
{
r = r + (enchantment.getMaxLevel() - r);
}
Как это сделать?
Максимум до чего мой тормознутый мозг дошел это:
Код:
@Mixin(AnvilScreenHandler.class)
public abstract class CombiningBooks {
@Inject(method = "updateResult", at = @At("RETURN"))
protected void Injected(CallbackInfo ci)
{
int r = 0;
Enchantment enchantment = null;
if (r > enchantment.getMaxLevel()) {
r = enchantment.getMaxLevel();
}
}
}
И я даже логикой понимаю что в выделенных мною строках нет никакой логики, и тут ничего работать не будет и не должно, но как мне это сделать? Подскажите пожалуйста, альтернатив как это сделать я вообще не нахожу.
Как достать переменную r из этого кода чтобы ее потом изменить если она обьявлена как int r; внутри метода? Что тут стоит сделать?
