Войти или зарегистрироваться

Помогите Как сделать режим что бы если моб не мог переагриться?

  • Автор темы Автор темы ItsWay
  • Дата начала Дата начала
Всё равно, я ещё сделал два ивента, первый ивент, что бы если умер игрок босс задеспавнился бы, вот::

Код:
    @EventHandler
    public void onDeathOtBoss(EntityDeathEvent event) {
        Entity e = event.getEntity();
        if(event.getEntityType() == EntityType.PLAYER) {
         Player player = (Player) event.getEntity();
         DamageCause deathCause = player.getLastDamageCause().getCause();
          if(deathCause == DamageCause.ENTITY_ATTACK)
                  if(player.getKiller().getKiller() instanceof Entity) {
                      if(player.getKiller().getType() == EntityType.IRON_GOLEM) {
                          if(player.getKiller().getCustomName() == "Босс Роботов") {
                     player.getKiller().remove();
                      }
                  }
              
              
          }
            
         }
    }
Но почему то не срабатывает и выдаёт ошибку:
Could not pass event PlayerDeathEvent to mAnarhya v0.1
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getKiller()" because the return value of "org.bukkit.entity.Player.getKiller()" is null
at MysteriosLife.Class.MainEvents.onDeathOtBoss(MainEvents.java:46) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor87.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Airplane-11]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:876) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.die(EntityPlayer.java:997) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.damageEntity(EntityLiving.java:1365) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityHuman.damageEntity(EntityHuman.java:877) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.damageEntity(EntityPlayer.java:1161) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.attackEntity(EntityIronGolem.java:195) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.a(SourceFile:142) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.e(SourceFile:134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalWrapped.e(PathfinderGoalWrapped.java:54) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:164) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.doTick(EntityInsentient.java:844) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.movementTick(EntityLiving.java:2881) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.movementTick(EntityInsentient.java:615) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.movementTick(EntityIronGolem.java:115) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.tick(EntityLiving.java:2607) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.tick(EntityInsentient.java:378) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1502) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1132) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1552) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1402) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Airplane-11]
at java.lang.Thread.run(Thread.java:831) [?:?]
 
Это ок, но ивент не срабатывает или что, ошибку кидает:
Could not pass event PlayerDeathEvent to mAnarhya v0.1
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getKiller()" because the return value of "org.bukkit.entity.Player.getKiller()" is null
at MysteriosLife.Class.MainEvents.onDeathOtBoss(MainEvents.java:46) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor87.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Airplane-11]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:876) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.die(EntityPlayer.java:997) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.damageEntity(EntityLiving.java:1365) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityHuman.damageEntity(EntityHuman.java:877) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.damageEntity(EntityPlayer.java:1161) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.attackEntity(EntityIronGolem.java:195) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.a(SourceFile:142) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.e(SourceFile:134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalWrapped.e(PathfinderGoalWrapped.java:54) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:164) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.doTick(EntityInsentient.java:844) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.movementTick(EntityLiving.java:2881) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.movementTick(EntityInsentient.java:615) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.movementTick(EntityIronGolem.java:115) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.tick(EntityLiving.java:2607) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.tick(EntityInsentient.java:378) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1502) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1132) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1552) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1402) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Airplane-11]
at java.lang.Thread.run(Thread.java:831) [?:?]

Вот ивент, если босс убивает игрока, то босс должен задеспавниться:
@EventHandler
public void onDeathOtBoss(EntityDeathEvent event) {
Entity e = event.getEntity();
if(event.getEntityType() == EntityType.PLAYER) {
Player player = (Player) event.getEntity();
DamageCause deathCause = player.getLastDamageCause().getCause();
if(deathCause == DamageCause.ENTITY_ATTACK)
if(player.getKiller().getKiller() instanceof Entity) {
if(player.getKiller().getType() == EntityType.IRON_GOLEM) {
if(player.getKiller().getCustomName() == "Босс Роботов") {
player.getKiller().remove();
}
}


}

}
}
 
Это ок, но ивент не срабатывает или что, ошибку кидает:
Could not pass event PlayerDeathEvent to mAnarhya v0.1
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getKiller()" because the return value of "org.bukkit.entity.Player.getKiller()" is null
at MysteriosLife.Class.MainEvents.onDeathOtBoss(MainEvents.java:46) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor87.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Airplane-11]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.16.5.jar:git-Airplane-11]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:876) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.die(EntityPlayer.java:997) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.damageEntity(EntityLiving.java:1365) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityHuman.damageEntity(EntityHuman.java:877) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityPlayer.damageEntity(EntityPlayer.java:1161) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.attackEntity(EntityIronGolem.java:195) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.a(SourceFile:142) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalMeleeAttack.e(SourceFile:134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalWrapped.e(PathfinderGoalWrapped.java:54) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:164) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.doTick(EntityInsentient.java:844) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.movementTick(EntityLiving.java:2881) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.movementTick(EntityInsentient.java:615) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityIronGolem.movementTick(EntityIronGolem.java:115) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityLiving.tick(EntityLiving.java:2607) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.EntityInsentient.tick(EntityInsentient.java:378) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1502) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1132) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1552) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1402) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Airplane-11]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Airplane-11]
at java.lang.Thread.run(Thread.java:831) [?:?]

Вот ивент, если босс убивает игрока, то босс должен задеспавниться:
@EventHandler
public void onDeathOtBoss(EntityDeathEvent event) {
Entity e = event.getEntity();
if(event.getEntityType() == EntityType.PLAYER) {
Player player = (Player) event.getEntity();
DamageCause deathCause = player.getLastDamageCause().getCause();
if(deathCause == DamageCause.ENTITY_ATTACK)
if(player.getKiller().getKiller() instanceof Entity) {
if(player.getKiller().getType() == EntityType.IRON_GOLEM) {
if(player.getKiller().getCustomName() == "Босс Роботов") {
player.getKiller().remove();
}
}


}

}
}
 
Стало интересно насчёт проверки в ивенте EntityTargetEvent, вот сделал, как считаешь, правильно сделал?
Код:
            if(event.getEntity().getCustomName() == "Босс Роботов")
тут как минимум не правильно. Строка не сравнивается черех ==, нужно сравнивать .equals("Босс Роботов")
 
Это ок, но ивент не срабатывает или что, ошибку кидает:

Вот ивент, если босс убивает игрока, то босс должен задеспавниться:
if(player.getKiller().getKiller() instanceof Entity) {
Сначала нужно проверять player.getKiller().getKiller() != null
 
Ок
Сначала нужно проверять player.getKiller().getKiller() != null
Ок, где я два раза написал, у меня был баг, когда я отправлял сообщение и перезагружал страницу, пропадало моё сообщение.
 
Назад
Верх