LuskSpec - Спек за читерами/нарушителями

LuskSpec - Спек за читерами/нарушителями 1.0

Создайте и подтвердите аккаунт для скачивания

TiLZetnick

Пользователь
Сообщения
9
TiLZetnick добавил(а) новый ресурс:

You must be logged in to see this link. - Удобный плагин на /spec

🤗 LuskSpec - крутой спек через меню

Этот плагин:

😛 Мало весит
😛 Имеет хорошую оптимизацию
😛 Есть удобная настройка
и тд...


🦷 Плагин абсолютно бесплатный. Обзор: (одна из первых демок плагина)

🐗 Плагин будет обновляться!!

You must be logged in to see this link.
 
2.2 Строго запрещено использование нецензурных слов, брани, оскорбительных выражений, в независимости от того, в каком виде и кому они были адресованы. В том числе при подмене букв символами
Фу ибать хуиня
 
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Такое нельзя одобрять даже
 
Может и можно сказать, что плагин сам по себе неплохой, интересная задумка, реализация и так далее. Но если мы заглянем внутрь, то наше мнение сразу же поменяется.

Во-первых, зачем ты создаешь синглтон, если ни где его не используешь?
Java:
  private FileConfiguration config;
 
  public void onEnable() {
    instance = this;
    saveDefaultConfig();
    this.config = getConfig();
    getServer().getPluginManager().registerEvents(new SpecListener(this), (Plugin)this);
    getLogger().info("Made with love by TiLZetnick for LuskDev");
  }
 
  public static LuskSpec getInstance() {
    return instance;
  }
Ну ладно. Вопрос в том либо по незнайке либо я не могу понять почему. Если у тебя есть синглтон, то-есть методом getInstance(); ты можешь получить экземпляр главного класса, но вместо этого в классе SpecListener ты создаешь конструктор главного класса.
Java:
  private final LuskSpec plugin;
 
  public SpecListener(LuskSpec plugin) {
    this.plugin = plugin;
  }
Ну бог с ним, может, действительно по незнайке. Идем дальше. Если ты уж создал синглтон, то соизволил бы раскидать методы по классам например тот же метод onCommand, который редко когда бывает в главном классе. Может GPT код, не знаю. Ладно, ок. Но мне стало не по себе когда в этом методе ты создаешь переменную типа Player, присваивая ей значение перемененной типа CommandSender и уже через переменную типа Player вызываешь метод hasPermission();. Главный вопрос - зачем? Когда и от переменной типа CommandSender можно вызвать этот же метод.

Java:
    Player player = (Player)sender;
    if (!player.hasPermission(getPermission("specUse"))) {
      player.sendMessage(colorize("&c));
      return true;
    }
Также удивил метод colorize, ну может этот плагин был создан еще до версии 1.16, сильно сомневаюсь, но, на минуточку, HEX был добавлен в майнкрафт 5 лет назад, грех не заменить этот древний метод на что-то новее.
Java:
  public String colorize(String text) {
    return ChatColor.translateAlternateColorCodes('&', text);
  }
Ну, так сказать, прошелся по мелочам, остальное тебе могут подсказать более опытные разработчики
 
Назад
Сверху Снизу