Начнем с того, что идеальной защиты нет. Кому надо - то обойдёт, что угодно.
Поэтому возьмем за основу условность, что никто не будет пытаться модифицировать твой плагин.
Так же в качестве подготовки рекомендовал бы ознакомиться с этим:
1)
SpigotMC Terms of Use
2)
SpigotMC Terms & Rules
3)
Premium Resource Guidelines
4)
On what are premium plugin prices based?
5)
Premium Resource Placeholders
Собственно, как указано в последней статье, в своем плагины ты имеешь возможность узнать три вещи:
1) Айди ресурса на spigotmc (не особо полезно в рамках данной темы)
2) Версию обновления ресурса на spigotmc (тоже не особо полезно)
3) Айди того, кто скачал ресурс (уже интереснее)
Помимо прочего, ты имеешь право делать запрос из плагина на свой же сервер для получения на сервере следующей информации:
1) Айпи сервера, на котором установлен плагин
2) Список опнутых игроков
3) Уникальный id сборки (из метрики, например)
Всю эти информацию ты можешь сохранять на своих серверах для последующего анализа - так делают многие платные плагины.
Тем не менее, если факт "слива" твоего плагины был обнаружен - ты не можешь просто взять и запретить запуск своего ресурса на сервере, поскольку это нарушает правила SpigotMC.
Как уже было сказано выше, любой платный плагин должен запускаться без дополнительных подтверждений, а так же должен иметь возможность работать без доступа в интернет.
Поэтому если было обнаружено, что куча людей использует твой плагин без лицензии - скорее всего, придется договариваться с администрацией SpigotMC, чтобы заблокировать доступ какому-то конкретному человеку, который и распространил плагин.
Эта схема была бы рабочая, если бы не было возможности, например, отключить отправку данных на твой сервер.
Собственно, отключение отправки - один из способов "умного слива", при котором пиратов обнаружить нельзя, а исходного покупателя ресурса не блокируют.
Вообще, защита java-приложений от модификации - тема отдельного разговора. Тебе, как новичку, я порекомендую изучать вопрос обфускации. Обфускация - процесс преобразования скопилированного кода с целью уменьшить его размер и/или усложнить его изучение и модификацию.
Есть огромное количество обфускаторов - у всех свои преимущества и недостатки: какие-то работают лучше, какие-то проще, какие-то платные, какие-то бесплатные и т.д.
Каждый сам для себя решает, какой обфускатор использовать.
Однако же обфускация не дает гарантии того, что твой плагин не сольют - как я говорил ранее, идеальной защиты не сущесвует.
На самом деле, вариантов масса - например, можно на сервере спигота настроить проксирование сетевых запросов или же подменить hosts в системе.
Основные способы защиты я описал выше - на первое время их хватит. С опытом ты изучишь и сможешь реализовать и другие методики.