- Баллы
- 76
- Имя в Minecraft
- f3azzy
Делаю фракции, хочу сделать так, чтобы игроки из одной фракции не могли бить друг-друга. Для этого использую permission, который присваиваю каждой фракции, делаю проверку по этому permission, и всё работает, но в консоле идёт ошибка, конечно нормально, но неприятно.
Код:
Сама ошибка:
И ещё, делаю мечи, и надо сделать кастомный урон, всё нормально, но когда урон становится около 5xp, или меньше 5, то урон не идёт.
Код:
Код:
Код:
public void guardDamage(EntityDamageByEntityEvent event) {
Entity target = event.getDamager();
Entity damager = event.getEntity();
Player p1 = (Player)target;
Player p2 = (Player)damager;
if(p1.hasPermission("teams.oneTeam")) {
if(!p2.hasPermission("teams.twoTeam")) {
event.setCancelled(true);
}
}
if(p1.hasPermission("teams.twoTeam")) {
if(!p2.hasPermission("teams.oneTeam")) {
event.setCancelled(true);
}
}
}
Сама ошибка:
Код:
[15:06:00] [Server thread/ERROR]: Could not pass event EntityDamageByEntityEvent to ReleaseProject v2.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:93) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:580) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:483) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:612) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity0(EntityLiving.java:1336) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityHuman.damageEntity0(EntityHuman.java:846) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity(EntityLiving.java:858) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityHuman.damageEntity(EntityHuman.java:759) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityPlayer.damageEntity(EntityPlayer.java:586) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityHuman.attack(EntityHuman.java:1005) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.EntityPlayer.attack(EntityPlayer.java:1311) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1554) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInUseEntity.a(SourceFile:69) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInUseEntity.a(SourceFile:13) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_231]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_231]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:696) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:371) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:651) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:555) [ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
Caused by: java.lang.IllegalArgumentException: Health must be between 0 and 20.0(-1.0)
at org.bukkit.craftbukkit.v1_12_R1.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:97) ~[ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
at sworlds.OkrvDerevKlin.damage(OkrvDerevKlin.java:33) ~[?:?]
at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:296) ~[ReleaseProject-1.12.2.jar:git-Bukkit-e60fc34]
... 26 more
И ещё, делаю мечи, и надо сделать кастомный урон, всё нормально, но когда урон становится около 5xp, или меньше 5, то урон не идёт.
Код:
Код:
public void damage(EntityDamageByEntityEvent e) {
Player p = (Player)e.getDamager();
Player target = (Player)e.getEntity();
if(!p.getInventory().getItemInMainHand().getItemMeta().getDisplayName().equals("§fОкровавленный деревянный клинок")) {
return;
}
if(!p.hasPermission("lvl.1")) {
p.sendMessage("§cRelease§3Project §8»» §cВаш лвл недостаточно высок.");
e.setCancelled(true);
return;
}
e.setCancelled(true);
if(target.getHealth() == 5) {
target.setHealth(0);
}
target.setHealth(target.getHealth() - 5);
target.setVelocity(target.getLocation().getDirection().setY(0.1).setX(-0.2).setZ(0));
}