.

Статус
Закрыто для дальнейших ответов.
Извините, вы слышали про циклы?
И... Не относится к теме конечно, но по моему соединять пермишны, расы, предметы и типы урона в 1 плагин - плохая идея.
 
Извините, вы слышали про циклы?
Слышал, если есть способ получить все файлы в папке, то я с удовольствием сделаю это через цикл..
]И... Не относится к теме конечно, но по моему соединять пермишны, расы, предметы и типы урона в 1 плагин - плохая идея.
А если плагин пишется чисто для себя (один РПГ плагин), и никаких других плагинов на например на пермишены (PEX etc.) не будет? Мне не кажется целесообразным разделять на пару плагинов..
 
Мне не кажется целесообразным разделять на пару плагинов..
Модульность - это всегда плюс

Если пишете для себя - зачем saveResource?

Files.walk(Paths.get(getDataFolder().getPath(), "папка"))
 
Модульность - это всегда плюс
Ну, да конечно, но мне будет неудобно, писать один плагин на пермы (при том что это дже не плагин, а просто два метода которые читают конфиг) один на расы, один на предметы и т.д..
ъ
Если пишете для себя - зачем saveResource?
Потому-что я постоянно добавляю кучу новых файлов (прямо в проект, как как папку плагина (та которая создается на сервере) часто удаляю и каждый раз добавлять кучу сейв ресурсов - надоедает..
Files.walk(Paths.get(getDataFolder().getPath(), "папка"))
Спасибо, прямо сейчас протестирую)
Files.walk(Paths.get(getDataFolder().getPath(), "папка"))
Что-то я не совсем понял... Это возвращает Stream<Path>.. Что мне с этим делать? O,o
 
Ну, да конечно, но мне будет неудобно, писать один плагин на пермы
Ну, дело хозяйское. Тут уже скорее надо посмотреть насколько вы используете возможности своей IDE

Потому-что я постоянно добавляю кучу новых файлов
Возможно стоит задуматься о базе данных? Файлы - медленная штука

Спасибо, прямо сейчас протестирую)
Не за что c:
 
Возможно стоит задуматься о базе данных? Файлы - медленная штука
Вот я тоже думаю... С БД не работал, но мне кажется если сделаю хранение в БД, не смогу тестировать на компе все это? Или на комп можно какую-то БД установить? (Я просто вообще ноль во всем что связано с БД XD)
 
Что-то я не совсем понял... Это возвращает Stream<Path>.. Что мне с этим делать? O,o
Добро пожаловать в Java 8
Пример для 7 не найду а писать сейчас лень

Используется это так:
Код:
            Files.walk(Paths.get(getDataFolder().getPath(), "shops")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                                                          }}
 
Добро пожаловать в Java 8
Пример для 7 не найду а писать сейчас лень

Используется это так:
Код:
            Files.walk(Paths.get(getDataFolder().getPath(), "shops")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                                                          }}
(У меня как раз Java 8, но в душе она все еще 7)
Ничосиииии, круто, надо проверить, спасибо)
 
Вот я тоже думаю... С БД не работал, но мне кажется если сделаю хранение в БД, не смогу тестировать на компе все это? Или на комп можно какую-то БД установить? (Я просто вообще ноль во всем что связано с БД XD)
Если есть скайп - отпишите мне (под авараткой у меня)
Так же можно в телеграм @M3lon

Расскажу про базы данных и по мелочам
Кстати говоря можно красивее записать ;D
Files.walk(Paths.get(getDataFolder().getPath(), "shops"))
.filter(Files::isRegularFile).map(Path::toFile).forEach(file -> {
file.isAwesome(); //Нунапример
});
 
Эээ... Вот так вот?..
Java:
Files.walk(Paths.get(getDataFolder().getPath(), "groups")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                    saveResource(file.getName(), false);
                }
            });
            Files.walk(Paths.get(getDataFolder().getPath(), "races")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                    saveResource(file.getName(), false);
                }
            });
            Files.walk(Paths.get(getDataFolder().getPath(), "damage_types")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                    saveResource(file.getName(), false);
                }
            });
            Files.walk(Paths.get(getDataFolder().getPath(), "groups")).forEach(path -> {
                if (Files.isRegularFile(path)) {
                    File file = path.toFile();
                    saveResource(file.getName(), false);
                }
            });

Если есть скайп - отпишите мне (под авараткой у меня)
Так же можно в телеграм @M3lon

Расскажу про базы данных и по мелочам
Да я слишком стеснительный... Да и люблю сам изучать, материалы видел буквально в соседней теме (вроде), так что обязаттельно почитаю, но все-равно большое спасибо за предложение))
 
Упс.. Немного затупил. Мой код для подгрузки из папки плагина.
Сейчас подумаю на тему из jar'a

Но в общем, на будущее запомните - когда у вас есть код который повторяется более двух раз и отличается одним словом - что-то не так
 
Упс.. Немного затупил. Мой код для подгрузки из папки плагина.
Сейчас подумаю на тему из jar'a

Но в общем, на будущее запомните - когда у вас есть код который повторяется более двух раз и отличается одним словом - что-то не так
Намек понял)
Код:
String[] filesNeedToLoad = new String[]{"groups", "races", "damage_types", "artifacts"};
            for (String name : filesNeedToLoad) {
                Files.walk(Paths.get(getDataFolder().getPath(), name)).forEach(path -> {
                    if (Files.isRegularFile(path)) {
                        File file = path.toFile();
                        saveResource(file.getName(), false);
                    }
                });
            }
 
Намек поняли правильно)
Боюсь что в случае с получением из .jar данный трюк не пройдет
Придется либо получать доступ к jar файлу и создавать файловую систему, либо например просто забить все пути в массив после чего пройтись по ним вызывая saveResource.
Уже выйдет короче...
Хотя не исключаю что я чего-то не знаю.

А вообще серьезно советую задуматься о базе данных.
И еще, кстати говоря конфиги можно создавать прямо из кода, но это то еще занятия
 
Мне не кажется целесообразным разделять на пару плагинов..
Вообще то вполне "целесообразно".
Твой плагин не умеет в перезагрузку (совсем-совсем), и любой /reload просто убьёт его. Ну и если же ты хочешь плагин всё-в-одном, то делай его модульно.
Боюсь что в случае с получением из .jar данный трюк не пройдет
Юзать ZipEntry в том for'e, распаковываем нужные файлы. Но всё равно не то, если у него проблема в организации плагина.
 
Вообще то вполне "целесообразно".
Твой плагин не умеет в перезагрузку (совсем-совсем), и любой /reload просто убьёт его. Ну и если же ты хочешь плагин всё-в-одном, то делай его модульно.
Плагин пишеться чисто под один сервер, т.е. других плагинов там и не будет (максимум WE и VS в самом начале), так что релоад юзать не собираюсь..
 
Плагин пишеться чисто под один сервер, т.е. других плагинов там и не будет (максимум WE и VS в самом начале), так что релоад юзать не собираюсь..
Я тоже так думал. Пару лет назад :D

Юзать ZipEntry в том for'e, распаковываем нужные файлы. Но всё равно не то, если у него проблема в организации плагина.
В курсе, но как по мне - распаковывать JAR чтобы извлечь мать его конфиги.. Meh

Особенно если учесть то что плагин может и несколько мб весить
 
Плагин пишеться чисто под один сервер, т.е. других плагинов там и не будет (максимум WE и VS в самом начале), так что релоад юзать не собираюсь..
Ты потом эту махину замучаешся обновлять. И при появлении какого-то бага, дебаггинг будет занимать огромное количество времени. ИМХО, не эффективно. Проще написать несколько плагинов поменьше, их будет легче переписывать / дописывать + не так сложно обновить. Я уже молчу про дебаггинг.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх