- Баллы
- 46
- Имя в Minecraft
- MySoulIsCry
Мне все равно каким способом пользоватся, повторяю я описал способ который будет понятнее TCВидимо тебе проще написать велосипед![]()
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Мне все равно каким способом пользоватся, повторяю я описал способ который будет понятнее TCВидимо тебе проще написать велосипед![]()
Ну так это тоже самое. :/Да нет, тут скорее проблема в материале AIR, который не имеет меты. getItemInMainHand не возвращает null.
И в котором он совершит в разы больше ошибок, молодец. В чем проблема дать ему нормальное решение, а не учить писать велосипед?Мне все равно каким способом пользоватся, повторяю я описал способ который будет понятнее TC
Нет, ItemStack может иметь материал AIR, у которого не будет меты.Ну так это тоже самое. :/
Ты проверяешь предмет 1 раза на null можно убрать 2рую проверку, а в 1 добавить проверку на воздуху меня сейчас такой код
Код:@EventHandler public void onHitSnowBall(ProjectileHitEvent e) { if(e.getEntity().getShooter() instanceof Player) { Player p = (Player) e.getEntity().getShooter(); Player t = (Player) e.getHitEntity(); ItemStack item = p.getPlayer().getInventory(); if(item == null) return; item.addEnchantment(Enchantment.LOOT_BONUS_BLOCKS, 10); item.setType(Material.SNOWBALL); if(item != null && item.getType() == Material.SNOWBALL && item.getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS) >= 10) { if(e.getHitEntity() instanceof Player) { if (p.getGameMode() == GameMode.SURVIVAL) { p.getInventory().addItem(item); p.updateInventory(); } if (p.getGameMode() == GameMode.CREATIVE) { } p.sendMessage(ChatColor.GOLD + "Ты кикнул " + ChatColor.AQUA + t.getName()); Bukkit.getScheduler().runTask(main.getInstance(), () -> t.kickPlayer(ChatColor.RED + "Кикнуты администратором")); } } } }
Я про то, что предмета нету.Нет, ItemStack может иметь материал AIR, у которого не будет меты.
нет через команду выдаёт ошибку на ядре спиготТебе надо сделать выдачу снежка с энчантом что-ли? Сделай это через команду свою и все.
Показывай ошибку и код.нет через команду выдаёт ошибку на ядре спигот
Он снежок выкидывает, и у него так или иначе в руке null. Пусть создаст предмет снежка изначально, который будет хранится в памяти, а потом уже его выдаёт/устанавливает.Ты проверяешь предмет 1 раза на null можно убрать 2рую проверку, а в 1 добавить проверку на воздух
null и AIR это совершенно разные вещи.Я про то, что предмета нету.
Фактически в руке нету предмета. :/null и AIR это совершенно разные вещи.
Мы говорим про стак снега или же выдачу нового снежка.Он снежок выкидывает, и у него так или иначе в руке null. Пусть создаст предмет снежка изначально, который будет хранится в памяти, а потом уже его выдаёт/устанавливает.
Да не будет у него в руке null.Он снежок выкидывает, и у него так или иначе в руке null. Пусть создаст предмет снежка изначально, который будет хранится в памяти, а потом уже его выдаёт/устанавливает.
Ок.Да не будет у него в руке null.
https://hub.spigotmc.org/javadocs/b...tory/PlayerInventory.html#getItemInMainHand()
код сверхуПоказывай ошибку и код.
[11:53:50] [Server thread/ERROR]: Could not pass event ProjectileHitEvent to ndplug v1.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:1195) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.IProjectile.a(IProjectile.java:109) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.EntitySnowball.a(SourceFile:63) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.EntityProjectile.tick(SourceFile:67) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:663) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.World.a(World.java:718) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:398) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1105) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:355) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1008) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:847) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.IllegalArgumentException: Enchantment level is either too low or too high (given 10, bounds are 1 to 3)
at org.*********ventory.ItemStack.addEnchantment(ItemStack.java:392) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
at main.hendler.onHitSnowBall(hendler.java:76) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_271]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094]
... 16 more
Ты привысил максимально допустимое зачарование, способ избежать этого есть, но Я его не помню, тебе поможет LOVEC3327 я уверен)код сверху
Код:[11:53:50] [Server thread/ERROR]: Could not pass event ProjectileHitEvent to ndplug v1.0 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:1195) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.IProjectile.a(IProjectile.java:109) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.EntitySnowball.a(SourceFile:63) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.EntityProjectile.tick(SourceFile:67) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:663) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.World.a(World.java:718) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:398) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1105) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:355) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1008) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:847) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at java.lang.Thread.run(Unknown Source) [?:1.8.0_271] Caused by: java.lang.IllegalArgumentException: Enchantment level is either too low or too high (given 10, bounds are 1 to 3) at org.*********ventory.ItemStack.addEnchantment(ItemStack.java:392) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] at main.hendler.onHitSnowBall(hendler.java:76) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_271] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot.jar:2991-Spigot-018b9a0-f3f3094] ... 16 more
ошибка в этой строке ItemStack item = p.getPlayer().getInventory()...;
Там же написано всеТы привысил максимально допустимое зачарование, способ избежать этого есть, но Я его не помню, тебе поможет LOVEC3327 я уверен)
(given 10, bounds are 1 to 3)
addUnsafeEnchantment()Ты привысил максимально допустимое зачарование, способ избежать этого есть, но Я его не помню, тебе поможет LOVEC3327 я уверен)
Либо жеaddUnsafeEnchantment()
ItemStack stack = new ItemStack(Material.SNOWBALL);
ItemMeta meta = stack.getItemMeta();
meta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
stack.setItemMeta(meta);
.getItemInMainHand()ItemStack item = p.getPlayer().getInventory();
в эту строку что писать