Помогите группы игроков

Вроде как сделал, но не тестировал. протестируешь сам.

Инструкция по установке ибо ты тупенький.
Добавляем как стороннюю библиотеку essentials (ибо я делал для него)

создаем поле. public Essentials ess; (это писать на следующей строчке после public Economy econ=null;)
Создаем метод setupEssentials()
Java:
private boolean setupEssentials() {
    if (getServer().getPluginManager().getPlugin("Essentials") == null) {
        return false;
    }
    return true;
}
В методе onEnable() добавляем
Java:
if (!setupEssentials()) {
            Bukkit.getConsoleSender().sendMessage(String.format("[%s] - Disabled due to no Essentias found!", getDescription().getName()));
            getServer().getPluginManager().disablePlugin(this);
            return;
            }
Так же создаем два метода работы с конфигами. Это пригодится позже.
Вот эти методы:
Java:
public YamlConfiguration getUserConfig(Player user){
        File uf = new File(getDataFolder(), "userdata"+File.separator+user.getName());
        if (!uf.exists()) {
            getLogger().log(Level.SEVERE, "User file is not exists. Creating one new");
            try {
                uf.createNewFile();
            } catch (IOException e) {
                getLogger().log(Level.SEVERE, "Error while creating new user file");
                e.printStackTrace();
            }
        }
        YamlConfiguration uconfig = YamlConfiguration.loadConfiguration(uf);
        uconfig.set("killer", "false");
        uconfig.set("time", 0);
        saveUserFile(uconfig, uf);
        return uconfig;
    }
    public void saveUserFile(YamlConfiguration uconfig, File uf){
        try {
            uconfig.save(uf);
        } catch (IOException e) {
            getLogger().log(Level.SEVERE, "Error while saving user file \"" +uf.getName()+"\"");
            e.printStackTrace();
        }
    }

С главным классом закончили.

Старый ивент можно убрать. т.к. теперь есть свой конфиг, то и статус убийцы отныне хранится там. Это несомненно будет лучше, ибо засирать пекс лишним ну не стоит.
Теперь ставим туда новый ивент.
Java:
@EventHandler
    public void onDeath(final PlayerDeathEvent e) {
        Player killed = e.getEntity();
        Player killer = killed.getKiller();
        if (killer==null) return;
        YamlConfiguration killerconf = plugin.getUserConfig(killer);
        YamlConfiguration killedconf = plugin.getUserConfig(killed);
        if (killedconf.getBoolean("killer")){
            jailKilled(killed, killedconf.getInt("time"));
            killedconf.set("killer", "false");
            killedconf.set("time", 0);
            plugin.save(killedconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killed.getName()));
            plugin.econ.depositPlayer(killer, 100);
            killer.sendMessage("Вы убили киллера поэтому его отправили в тюрьму");
            updateKiller(killer);
        }else{
            if (!killerconf.getBoolean("killer")) killer.sendMessage("Вы стали убийцей! Кровожадное животное!");
            else killer.sendMessage("Сколько можно лить крови? Бессердечная скотина! Тебе это припомнят, учти!");
            killerconf.set("killer", "true");
            killerconf.set("time", killerconf.getInt("time")+10);
            plugin.save(killerconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killer.getName()));
        }  
    }
И так же добавляем два новых метода:
Java:
private void updateKiller(Player killer) {
        plugin.econ.depositPlayer(killer, 100);
        killer.sendMessage("Вы убили киллера и получили 100$");
        YamlConfiguration killerconf = plugin.getUserConfig(killer);
        if (killerconf.getBoolean("killer")){
            killerconf.set("time", (int)killerconf.getInt("time")*0.2);
            killer.sendMessage("Т.к. вы тоже убийца то ваш срок был уменьшен на 20%");
            plugin.save(killerconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killer.getName()));
        }
    }


    private void jailKilled(Player killed, int time) {
        Collection<String> jails = null;
        try {
            jails = plugin.ess.getJails().getList();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (jails==null) return;
        for (String s:jails){
            try {
                plugin.ess.getUser(killed).setJail(s);
                plugin.ess.getUser(killed).setJailTimeout(time*60*20);
                killed.sendMessage("Вас поймали и посадили в тюрьму на срок "+ Integer.toString(time));
                killed.sendMessage("Когда вас выпустят, с вас будут сняты все обвинения. Удачного времяпрепровождения ;)");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

P.S. Многое может быть красным и еклипс будет кричать"это ошибка, ох, ах, как жить". Прежде чем реветь попробуй симпортировать. если несколько импортов предложит, то пришли скрин и спроси что импортировать. если нет импортов - то скрины в помощь опять же. Удачи
я не проверял на работоспособность, если кто то заметит лажу в коде\консоли - то тапочки пишем вниз ↓
а как в "стороннюю библиотеку" добавить? и... у меня Essentias 2x snapshot ничо? или скачать другой?
ахха. количество ответов\просмотров для незакрепленной темы со статусом "помогите" тоже бъет прошлые рекорды.
самое главное что я токо что зарегался... ВАУ! сам в шоке хоть и не понимаю что этот рекорд даёт...
 
а как в "стороннюю библиотеку" добавить? и... у меня Essentias 2x snapshot ничо? или скачать другой?

самое главное что я токо что зарегался... ВАУ! сам в шоке хоть и не понимаю что этот рекорд даёт...
НИЧО
 
есселинтас куда добавлять? туда же куда pex и Vault или как-то по другому?
Да так же как пекс, ваулт, ядро сервера...
самое главное что я токо что зарегался... ВАУ! сам в шоке хоть и не понимаю что этот рекорд даёт...
в твоем случае это показывает твою непроходимую глупость, из-за которой нам пришлось в течении шести страниц объяснять тебе простейшие вещи
 
s это стринг в методе

я специально сложно для тебя объясняю, что бы ты уже понял и начал учить джаву(выучи хоть немного, хоть про переменные посмотри, поможет оч сильно!)
в общем... я прочитал про переменные и.... хочется вставить сюда мем где орут по телефону "НИXУЯ НЕ ПОНИМАЮ НИ ОДНОГО СЛОВА БЛЯTЬ!"
Да так же как пекс, ваулт, ядро сервера... твою маму

в твоем случае это показывает твою непроходимую глупость, из-за которой нам пришлось в течении шести страниц объяснять тебе простейшие вещи
ну извините блин... я всегда лезу вперёд... командный блок я тож изучать сразу с сложного начал... потом за то на изи всё простое прошёл )))
 
в общем... я прочитал про переменные и.... хочется вставить сюда мем где орут по телефону "НИXУЯ НЕ ПОНИМАЮ НИ ОДНОГО СЛОВА БЛЯTЬ!"
красный крестик в правом верхнем углу окна браузера для тебя.
Если ты не можешь понять такие простые вещи, то единственный способ получения тобой годного плагина - это его наличие на просторах инета, либо наличие накопленых тобою с обедов(с мамкиных выдач) денег.
ну извините блин... я всегда лезу вперёд... командный блок я тож изучать сразу с сложного начал... потом за то на изи всё простое прошёл )))
слово "тоже" сюда не подходит. пока что здесь НИЧЕГО сложного не было. все это азы.
 
Да так же как пекс, ваулт, ядро сервера...

в твоем случае это показывает твою непроходимую глупость, из-за которой нам пришлось в течении шести страниц объяснять тебе простейшие вещи
upload_2017-1-4_21-59-20.png
 
имопртируй который java.io
 
красный крестик в правом верхнем углу окна браузера для тебя.
Если ты не можешь понять такие простые вещи, то единственный способ получения тобой годного плагина - это его наличие на просторах инета, либо наличие накопленых тобою с обедов(с мамкиных выдач) денег.

слово "тоже" сюда не подходит. пока что здесь НИЧЕГО сложного не было. все это азы.
ну я по крайней мере импортировать уже научился сам и по лучше всё понимаю. не то, что на 1-2 странице...
красный крестик в правом верхнем углу окна браузера для тебя.
Если ты не можешь понять такие простые вещи, то единственный способ получения тобой годного плагина - это его наличие на просторах инета, либо наличие накопленых тобою с обедов(с мамкиных выдач) денег.

слово "тоже" сюда не подходит. пока что здесь НИЧЕГО сложного не было. все это азы.
мне никто денег не даёт. мне они не нужны. я лучше блин помучаюсь чем деньги буду тратить... и так ели живём!
имопртируй который java.io
upload_2017-1-4_22-2-50.png
 
ну я по крайней мере импортировать уже научился сам
Сорян, но не смогу скоро тебе отвечать. от моего ора соседи вызвали экзорциста. так же из-за моего ора с уральских гор сошла лавина (я в екатеринбурге, но до туда дошло), а в ближайших морях, и так же в тихом океане создались цунами высотой больше 150 метров. а сейсмологи оценили произошедшее как землетрясение на 10 баллов по стандартной шкале(там всего 10 баллов, десятибальные землетрясения = катастрофа планетарного уровня). из-за землетрясений проснулись все супервулканы.

так что это все уже не имеет смысла


import java.util.logging;
 
Последнее редактирование:
ну я по крайней мере импортировать уже научился сам
Проорать можно в голосину?
Сорян, но не смогу скоро тебе отвечать. от моего ора соседи вызвали экзорциста. так же из-за моего ора с уральских гор сошла лавина (я в екатеринбурге, но до туда дошло), а в ближайших морях, и так же в тихом океане создались цунами высотой больше 150 метров. а сейсмологи оценили произошедшее как землетрясение на 10 баллов по стандартной шкале(там всего 10 баллов, десятибальные землетрясения = катастрофа планетарного уровня). из-за землетрясений проснулись все супервулканы.

так что это все уже не имеет смысла



import java.util.logging;
Блин, первый написал =)
 
я имел ввиду другое блин
бlя я имел ввиду другое! я имел ввиду что я раньше не знал как фиксить там ошибка была а щас я могу хотяб когда 1 импорт сам бл*ть симпортировать а тут ты сам говорил шо пиши если несколько импортов... ладно поx рад что у вас настроение хорошее )))
 
бlя я имел ввиду другое! я имел ввиду что я раньше не знал как фиксить там ошибка была а щас я могу хотяб когда 1 импорт сам бл*ть симпортировать а тут ты сам говорил шо пиши если несколько импортов... ладно поx рад что у вас настроение хорошее )))
Пошёл ты н***, червячок
 
Назад
Верх