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

Решено Как сделать при смерти не пропадание определённого эффекта

Тема в разделе "Помощь", создана пользователем VolShe, 12 июн 2017.

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

    VolShe Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    VolShe
    Мне нужно чтоб при смерти у игрока не пропадали определённые эффекты
    Если можно - код для плагина
    ну или возможно есть такой в гугле, я не нашёл.
     
  2. InterWall

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

    Баллы:
    173
  3. Автор темы
    VolShe

    VolShe Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    VolShe
  4. InterWall

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

    Баллы:
    173
    Конкретно код не скажу, автор удалил исходники. Но там в самой теме это обсуждается. На крайний случай вот ссылка: https://translate.google.com
     
  5. Danko

    Danko Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Dankoo
    Там есть код...
    public HashMap<String, List<PotionEffect>> effects = new HashMap<String, List<PotionEffect>>();

    onDeath:
    for (PotionEffect e : player.getPotionEffects()) {
    effects.get(player.getName()).add(e);
    }

    onRespawn:
    for (PotionEffect e : effects.get(player.getName()) {
    player.addPotionEffect(e);
    }
     
  6. Автор темы
    VolShe

    VolShe Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    VolShe
    Да я уже понял, щас проверяю
    Выбивает ошибку:
    [21:32:49 ERROR]: Could not pass event PlayerDeathEvent to FrostPrison v0.1
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:396) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.EntityPlayer.die(EntityPlayer.java:417) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:812) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:800) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:496) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity.damage(CraftLivingEntity.java:241) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity.damage(CraftLivingEntity.java:229) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at com.earth2me.essentials.commands.Commandsuicide.run(Commandsuicide.java:21) [Essentials.jar:?]
    at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:180) [Essentials.jar:?]
    at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:527) [Essentials.jar:?]
    at com.earth2me.essentials.Essentials.onCommand(Essentials.java:402) [Essentials.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
    Caused by: java.lang.NullPointerException
    at com.crissartz.prison.vipercraft.Levels.onDeath(Levels.java:441) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-e4d4710-e1ebe52]
    ... 30 more

    @EventHandler
    public void onDeath(PlayerDeathEvent e) {

    HashMap<String, List<PotionEffect>> effects = new HashMap<String, List<PotionEffect>>();
    for (PotionEffect e1 : e.getEntity().getActivePotionEffects()) {
    (effects.get(e.getEntity().getName())).add(e1);
    }
    for (PotionEffect e1 : effects.get(e.getEntity().getName())) {
    e.getEntity().addPotionEffect(e1);
    }
    [SPOILER/]

    441 Строка в плагине:
    (effects.get(e.getEntity().getName())).add(e1);
    UP
     
  7. Zemf4you

    Zemf4you Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    zemf4you
    У тебя ошибка в essentials, а так же bukkit не находит событие playerdeathevent. Возможно, не импортировал. В коде не написано. На ошибки не смотрел.
     
  8. Автор темы
    VolShe

    VolShe Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    VolShe
    Essentials скачивал с bukkit, ядро Spigot официальное
     
Статус темы:
Закрыта.

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