1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 20 фев 2015.

Статус темы:
Закрыта.
  1. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    .
     
    Последнее редактирование: 27 янв 2020
  2. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    1. Зачем делать переменную из getConfig(), а потом продолжать использовать его же?
    2. Нет saveConfig().
     
  3. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    1. Не знаю!) Но думаю это не мешает...
    2. Переписал код:
    Код:
        @Override
        public void onEnable()
        {
            getServer().getPluginManager().registerEvents(this, this);
            config = getConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Успешно включен."));
        }
    
    Код:
        @EventHandler
        public void onLastBlockPlaced(PlayerJoinEvent pje, BlockPlaceEvent bpe)
        {
            pje.getPlayer().sendMessage(String.valueOf(config.getInt("LastBlockPlaced")));
            config.set("LastBlockPlaced", bpe.getBlock().getTypeId());
        }
    
    Код:
        protected FileConfiguration config;
    

    Я делал по этому уроку: :D
     
  4. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    В Английском не шарю, а просто смотреть на код как баран и пытаться что-то понять - не мое(
     
  5. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    saveConfig() всё ещё нет.
     
  6. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Учись, пригодится. Особенно в программировании.
     
  7. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    > Занимается программированием...
     
  8. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Забыл приложить этот метод xD
    Код:
        @Override
        public void onDisable()
        {
            saveConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Был выключен."));
        }
    

    Пытаюсь, но там АчиньМногаБукаф чтоб я мог там то-то прочитать!)
    Я не понимаю что я делаю не так... Вот весь код плагина:
    Код:
    package com.roboman.plugins;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import ru.tehkode.permissions.bukkit.PermissionsEx;
    
    public class Solution extends JavaPlugin implements Listener
    {
    
        protected FileConfiguration config;
    
        @EventHandler
        public void onLastBlockPlaced(PlayerJoinEvent pje, BlockPlaceEvent bpe)
        {
            pje.getPlayer().sendMessage(String.valueOf(config.getInt("LastBlockPlaced")));
            config.set("LastBlockPlaced", bpe.getBlock().getTypeId());
        }
    
        @Override
        public void onLoad()
        {
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Был загружен."));
        }
    
        @Override
        public void onEnable()
        {
            getServer().getPluginManager().registerEvents(this, this);
            config = getConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Успешно включен."));
        }
    
        @Override
        public void onDisable()
        {
            saveConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Был выключен."));
        }
    }
     
  9. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    26 всего
     
  10. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Выключи плагин и всё запишется в файл(основываясь на коде)
     
  11. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Теперь понял :D
     
  12. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Палкой в глаз тык. тык. тык.
     
  13. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    А теперь что не так?
    Код:
    package com.roboman.plugins;
    
    import net.minecraft.server.v1_7_R1.Block;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import ru.tehkode.permissions.bukkit.PermissionsEx;
    
    public class Solution extends JavaPlugin implements Listener
    {
    
        protected FileConfiguration config;
    
        @EventHandler
        public void onLastBlockPlaced(PlayerJoinEvent pje, BlockPlaceEvent bpe)
        {
            pje.getPlayer().sendMessage(String.valueOf(config.getInt("LastBlockPlaced")));
            config.set("LastBlockPlaced", bpe.getBlock().getTypeId());
            saveConfig();
        }
    
        @EventHandler
        public void OnDiamondBlockPlaced(BlockPlaceEvent bpe) //Не обращайте внимания!))..
        {
            if (bpe.getBlock().getTypeId() == 57) { }
        }
    
        @Override
        public void onLoad()
        {
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Был загружен."));
        }
    
        @Override
        public void onEnable()
        {
            getServer().getPluginManager().registerEvents(this, this);
            config = getConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Успешно включен."));
        }
    
        @Override
        public void onDisable()
        {
            saveConfig();
            Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "&9&l[Plugin]&a Был выключен."));
        }
    }

    ??...
     
  14. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    То, что вы нигде не получаете конфиг. А ещё вы каждый раз сохраняете конфиг, и при выключении тоже.
     
  15. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Что это за ужас?
    Зачем считывание альтернейт кодов если можно ChatColor.RED или в крайнем случае сразу поставить § ???
     
  16. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    config = getConfig() или не то?... Ну а как правильно то?
    А как сделать и красный и толстый?!! ChatColor.RED + ChatColor.BOLD + ""; не пашет
     
  17. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    А зачем жизнь сложнять?
     
  18. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    ChatColor.RED + "" + ChatColor.BOLD +


    А сервер зачем грузить?
     
  19. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Это исключительно практика для своего сервера!)) Поэтому можно и нагружать.
    Да и вообще, мне бы понять как с конфигом работать а не с цветами.
     
  20. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Практика должна быть правильной.
    Приучишься делать криво и потом...

    Запомни одну истину:
    Если в твоем коде 2 раза встречается почти одинаковый или не дай Бог одинаковый код - значит ты сделал что-то не правильно.

    Один из важнейших принципов программирования
    DRY – Don’t repeat yourself
     
Статус темы:
Закрыта.

Поделиться этой страницей