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

В разработке ItemStack выдать предмет с зачарованиями

Тема в разделе "Разработка плагинов для новичков", создана пользователем Thorgathis, 5 ноя 2021.

Статус темы:
Закрыта.
  1. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Мне все равно каким способом пользоватся, повторяю я описал способ который будет понятнее TC
     
  2. ZDCoder

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

    Баллы:
    76
    Ну так это тоже самое. :/
     
  3. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    И в котором он совершит в разы больше ошибок, молодец. В чем проблема дать ему нормальное решение, а не учить писать велосипед?
     
  4. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Нет, ItemStack может иметь материал AIR, у которого не будет меты.
     
  5. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Ты проверяешь предмет 1 раза на null можно убрать 2рую проверку, а в 1 добавить проверку на воздух
     
  6. ZDCoder

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

    Баллы:
    76
    Я про то, что предмета нету.
     
  7. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    нет через команду выдаёт ошибку на ядре спигот
     
  8. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Показывай ошибку и код.
     
  9. ZDCoder

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

    Баллы:
    76
    Он снежок выкидывает, и у него так или иначе в руке null. Пусть создаст предмет снежка изначально, который будет хранится в памяти, а потом уже его выдаёт/устанавливает.
     
  10. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    null и AIR это совершенно разные вещи.
     
  11. ZDCoder

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

    Баллы:
    76
    Фактически в руке нету предмета. :/
     
  12. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Мы говорим про стак снега или же выдачу нового снежка.
     
  13. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Да не будет у него в руке null.
    https://hub.spigotmc.org/javadocs/b...tory/PlayerInventory.html#getItemInMainHand()
     
  14. ZDCoder

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

    Баллы:
    76
  15. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    код сверху
    Код:
    [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()...;
     
  16. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Ты привысил максимально допустимое зачарование, способ избежать этого есть, но Я его не помню, тебе поможет LOVEC3327 я уверен)
     
  17. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Там же написано все
     
  18. mirrerror

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

    Баллы:
    76
    Имя в Minecraft:
    mirrerror
    addUnsafeEnchantment()
     
  19. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    А, избежать) Ну либо
    Либо же
    PHP:
                ItemStack stack = new ItemStack(Material.SNOWBALL);
                
    ItemMeta meta stack.getItemMeta();
                
    meta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS10true);
                
    stack.setItemMeta(meta);
     
  20. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    .getItemInMainHand()
     
Статус темы:
Закрыта.

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