ANGELGUARDIAN | Плагин на защиту!

ЛУЧШИЙ РЕСУРС ANGELGUARDIAN | Плагин на защиту! 2.0

  • Мы теперь в Discord

    Мы рады объявить, что теперь у нас есть сервер Discord. В честь этого мы проводим розыгрыш!
    Теперь вы можете легко связаться с нами и другими участниками сообщества,
    обмениваться идеями и получать обновления о нашей деятельности.

  • EXCLUSIVE ⚡

    Гость, покупая подписку, ты увеличишь свои доходы в разы!
    Мы делаем самые актуальные сборки, переводим лучшие приватные плагины, а так-же обновляем их и фиксим любые ошибки.
    Дешевле, чем студии и другие разработчики!

  • Приветствуем тебя Гость!⁣

    Недавно на форуме? Не знаешь как можно скачивать ресурсы?
    Для этого нужно лишь зарегистрировать на форуме, и получать доступ к профессиональным плагинам, оптимизированным настройкам.
    Здесь только самое лучшее.

  • Обновленный «Mc-market.ru»

    Теперь у вас есть возможность продавать свои товары на Minecraft маркете.
    Это отличная возможность для вас начать зарабатывать на своих навыках и труде.
    Начни продавать сейчас!

  • Интеграция ChatGPT

    Администраторы Minecraft могут столкнуться с различными проблемами, связанными с работой серверов и кодом.
    Однако, благодаря инновационным технологиям, искусственный интеллект может помочь решить эти проблемы.
    Реши свою любую проблему сейчас!

Новый плагин для защиты вашего сервера!


- Фикс бедрока (ад, 128 высота или выше - ось Y)
- Фикс поршней, выбрасывателей, редстоуна активированного и обычного на настраиваемой высоте
- Использует команду от имени игрока когда тот падает в любом мире на -1 и ниже высоту (ось Y)
- Отключает все TabComplete.
Автор
TopTop
Скачивания
80
Просмотры
1,401
Первый выпуск
Обновление
Рейтинг
4.50 звезд Оценок: 2

Последние обновления

  1. AngelGuardian v3.0

    Обновление: ■ Исправили баги. ■ Пофиксили код. ■ Обновили конфиг.
  2. AngelGuardian 2.0

    Обновление:■ Добавили ограничение блоков в чанке!Что щас есть:■ Ограничение блоков в...

Последние рецензии

Хороший плагин, но для какой версии? (Я просто не могу, в данный момент смотреть его)
3.0 version::
Прогрес... Всё переделали по моим словам, но перестарались теперь, слишком красиво, но на деле фигня. (Потели, переделывали, но опять фигня. Хотяб знания получилили и приключения).

1) Вы меня не совсем поняли на счёт хранения данных конфигурационного файла в классе, Мы делаем поле
String BlockLimiterChunkMessage
к примеру

При создании класса путём указываем в методе нейма класса к примеру наш кфг файл, так как будем создавать из мейн класса, то от JavaPlugin гетним FileConfiguration
DataConfig dataConfig = new DataConfig(getConfig())
в классе DataConfig делаем следующее:

String BlockLimiterChunkMessage;

DataConfig(FileConfiguration config) {
this.BlockLimiterChunkMessage = Utils.colorize(config.getString("path_config_message"));
}

String getBlockLimiterChunkMessage() {
return this.BlockLimiterChunkMessage;
}

Таким образом Мы гетаем данные из кфг и заполняем их в класс, то есть в оперативочку и файл гетать мы больше не будем, а обращаемся к созданной части в оперативке, тем самым обеспечиваем оптимизацию, ведь каждый раз гетая файл Мы получаем его заного и обратаем ВСЕ ДАННЫЕ ЗАНОСЯ В ОПЕРАТИВКУ (в файле больше данных, чем в стринге...).

2) Из-за того что Вы не отгружаете все слушатели-событий, то к ним могут обращаться некоторые файлы и гетать их, точнее это "недоработка" баккита, а хотя может и приколюха.
Поэтому когда Вы плагмэном еб*шите плагин реалодите, отгружаете он у вас оставляет слушатели-событий в хандлер листах (ну в списках классов буккита, спигота и т.д)...
Поэтому в onDisable указывайте
HandlerList.unregisterAll(this)
это означает отгрузку всех слушателей-событий от плагина (this - JavaPlugin, вы от него экстендитесь в главном классе).

3) Зачем отдельные метолы для кмд и слушателей-комманд не понятно, ну ладно... (p.s: лишний код, места меньше)
4) Метод registerEvents в главном классе теперь обладает листом и парсом через фореач, нафига не понятно... Надо было просто создать PluginManager от Bukkit.getPluginManager и к нему обращаться, если бы у вас было хотя бы 20 слушателей-событий это было уже оправдано, а там есть схемы и покруче
5) Метод registerCmd в главном классе имеет регистр комманды в табкомплете, какого-то фига в публичное поле в классе, а не в методе пишется Arrays.asList(reload) ?????????
Чё то бессмысленно сделано... + в классе команды могли дописать имплемент табкомплете и там всё писать, а не создавать отдельно в мейн классе (если бы мапа была, то можно было кмд хоть в одном классе писать, всё равно не вилека и в мапу путим не через баккит, а через филды).
6) Заметил в таб-комплете отключение через кфг проверки, но эвент выполняется всё-равно и обрабатывается вашим плагом, лучше просто при регистрации слушателей-команд делать проверку на это значение к кфг и регать/не регать этот слушатель-события...

3/5 видимо ваш минимум, 4/5 пока что максимум.
Была бы 10 бальная шкала, оставлял бы 6/10 - min 8/10 max

---------
2.0 version::

Обновление сделало только хуже.
Всё из-за того что Вы получаете кфг кучу раз, в эвенте BlockPlaceEvent в классе ChunkLimiter, я знаю что разные декомпилы показывают Iterator, а не for, но на самом деле Вы в for стринглиста из кфг ещё форите блоки, как бы это жёстко систему нагружает.

- Сделайте отдельный класс и туда складируйте значения кфг.
- Отдельный класс с утилками, где будет реплейс колора, не через .replace и String.format, а тот который ChatColor.translateAlternative...
- Какого фига класс с табкомплите называется TabCoplite, если даже нейм метода в классе TabComplete?? Почему m нету и вместо e стоит i??
- Создайте отдельный метод для команды и регайте комманду без коммандМапа (я вижу что он вам не посилен), без проверок на command.getName(), просто регните класс с нью командой, в плагин.умл не забудьте её указать. Команда смысла НИФИГА НЕ ИМЕЕТ у вас сейчас которая, в начале перм чек, а потом чек на консоле сендера???? Делается проверка на консоль или на плауера так:
if(sender instanceof Player) или if(!(sender intanceof Player))
писать аргументы 0 не надо, тупо сделайте так что бы если был 1 аргумент и он равен reload, то чекаем на перм в нём, если есть пермы = релоадим, нету = перм нету, а если ифка не прошла (которая с reload, то просто другой результат это хелп по коммандам).
- Гетать плагинманагер 300 раз не надо, у вас есть возможность скоротить это всё:
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new SkamEvent(), this);
pm.registerEvents(new Skam2Event(), this);
pm.registerEvents(new Skam3Event(), this);
Плагин без хаков, сделан более менее нормально.

Хотелось бы описание к нему:
- Фикс бедрока (ад, 128 высота или выше - ось Y)
- Фикс поршней, выбрасывателей, редстоуна активированного и обычного на настраиваемой высоте
- Использует команду от имени игрока когда тот падает в любом мире на -1 и ниже высоту (ось Y)
- Отключает все TabComplete.

Так же хочу отметить несколько вещей:
- Не нравится команда плагина и инфо в ней, это категорически не надо владельцам серверов.
- Часто получаем конфиг, следовательно обращаемся к памяти, а за это насилуем сервер нагрузкой, создайте класс, в него при загрузке в стринги и инты пихните все значения и потом парсите эти значения из класса, они уже загружены в память в классе, просто получайте их и всё будет хорошо. (меньше нагрузка, нету обращений к файлам, а обращение к файлам иногда даже хуже чем частые обращения к базам данных).
- Вижу писался плагин в Eclipse, убирайте пожалуйста .classpath и .project, а желательно скачайте интелию (IntelliJ IDEA) и пишите на ней плагины, в помощь MineCraft Development (plugins, так сказать аддон в IntelliJ IDEA).

Помочь проекту! 💕

Собрано
"40,140.00" ₽
Цель
"50,000.00" ₽

Новые сообщения