Не понимаю, зачем вообще отдельный плагин для этого? LuckPerms + MyCommand, все отлично реализуется. Эти два плагина стали уже "базой", условно, конечно
Чтобы переписать плагин (если возможности такой нет там), даже одних знаний мало. Тебе надо или найти исходники или самостоятельно декомпилировать код, а в последнем еще и привести его в нужный вид, т.к. декомпиляторы это делают с ошибками
Обычно в грантерах есть приоритеты групп, расставь их, чтобы группа выше приоритетом (у которой должно быть право выдавать донат) не могла выдавать такой же группе. В итоге игрок не сможет выдать донат ни себе (т.к. у него группа, которая выдает донат), ни другому с такой же высокой группой
Да и если игрок выдаст себе донат, что случится? Если ты используешь LuckPerms, то группа не понизится. А если морально устаревший PEX, то что сказать, переходи на LP
- grant:
- command: /grant
- type: RUN_CONSOLE
- runcmd:
- - '$Script$%if%%luckperms_has_permission_grant.give%==yes'
- - '$text$'
- - '$text$ &cТы уже выдавал донат'
- - '$text$'
- - '$Script$%elseif%$arg1==$player'
- - '$text$'
- - '$text$ &cВыдача самому себе запрещена'
- - '$text$'
- - '$Script$%elseif%$CheckPlayerStatus%$arg1%isOnline%==false'
- - '$text$'
- - '$text$ &cОффлайн игрок'
- - '$text$'
- - '$Script$%elseif%$arg2==donate1'
- - 'lp user $arg1 parent add donate1'
- - 'lp user $player permission set grant.give'
- - '$text$'
- - '$text$ &6Вы выдали Твой_донат1 &aигроку &6$arg1'
- - '$text$'
- - '$Script$%elseif%$arg2==donate2'
- - 'lp user $arg1 parent add donate2'
- - 'lp user $player permission set grant.give'
- - '$text$'
- - '$text$ &6Вы выдали Твой_донат2 &aигроку &6$arg1'
- - '$text$'
- - '$Script$%elseif%$arg2==donate3'
- - 'lp user $arg1 parent add donate3'
- - 'lp user $player permission set grant.give'
- - '$text$'
- - '$text$ &6Вы выдали Твой_донат3 &aигроку &6$arg1'
- - '$text$'
- - '$Script$%else%'
- - '$text$&fИспользование: &7/grant <ник> <донат>'
- permission-required: true
- permission-node: grant.command
- required_args: 2
- register: true
- error-message: ' &fИспользование: &7/grant <ник> <донат>'
- tab_completer:
- 1:
- - $player_list
- 2:
- - donate1
- - donate2
- - donate3
Если хочешь, чтобы один и тот же донат можно было выдать несколько раз, поколдуй с правами LuckPerms