Легче использовать чем интерфейс с абстрактным методом, чем меньше кода тем красивее кодА зачем тебе такая аннотация? Что-то мне подсказывает, что в твоём случае можно интерфейсом обойтись
Они как бы могут быть дефолтные с реализациейинтерфейс с абстрактным методом
Ну канешна, намного красивее рефлексией доставать аннотацию(еще и намного медленнее), чем просто сделать obj instanceof YourInterfaceчем меньше кода тем красивее код
лавамод это огрызок, который деус по сути слепил из своего кода, кода со stackoverflow, кода с туториалов, и кода с закрытых модов по типу того же ThaumCraft(сурсов которых нету в открытом доступе, я не нашел :C)Ну хз, но ты делаешь неправильно, но дело твое
Нолики и false ты вполне можешь спрятать, используя default метод в интерфейсе. Просто переопределяешь только нужные методы и кода в классе предмета сразу станет меньше. Аннотация для твоей задачи смотрится дико.код предмета с интерфейсом
Я и переписываю с 0 код, пока участками, ибо так легче(ну тоесть по типам там блоки и предметы и тд)Я понимаю, что они отличаются, но их наверняка можно описать единым образом, если они о близких вещах
Если тебе не нравится код - то рефакторь его или переписывай с нуля, других способов избавиться от говнокода я не знаю. Нытье о легаси-коде должен слышать заказчик или начальник, а не форумчане)
По вопросу: сами аннотации на производительность не повлияют, однако работать с ними придется через рефлексию, а это дольше, чем просто вызвать метод
stackObject.getItem().getClass.getAnnotation(MyAnnotationClass.class) != null
и если ненулstackObject.getItem().getClass.getAnnotation(MyAnnotationClass.class).myParam()