У вас в L2PcInstance есть метод storeCharBase, который сохраняет состояние чара в базу, выполня SQL запрос из стринговой константы UPDATE_CHARACTER.
Так вот, если вы посмотрите на зпрос там есть плейсхолдеры (знаки вопросов) для параметров
curHp=?,maxCp=?..., а в методе storeCharBase есть вызовы методов для PreparedStatement
Код:
statement.setDouble(3, getCurrentHp());
statement.setInt(4, getMaxCp());
Это установка параметра по индексу вхождения плейсхолдера в строке запроса, которые при выполнени запроса заменяются на значения
Теперь посмотрите какой индекс для параметра в storeCharBase у вас последний? Например у меня 61, т.е количество плейсхолдеров в запросе так же должно быть 61, а если я попытаюсь установить 62-ой параметр получу такую же ошибку как у вас
Ну и самое главное, почему эта ошибка возникает? Потому что либо вы либо кто-то другой изменил код L2PcInstance так, что storeCharBase пытается установить больше параметров чем есть в вашем UPDATE_CHARACTER запросе.
Как поправить? Исправить ваш SQL запрос либо удалить установку лишних параметров в storeCharBase