Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

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

  1. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Здесь все евенты.
     
  2. Mr Hosting
  3. Djstim

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

    Баллы:
    78
    Skype:
    Alekcej1995
    Имя в Minecraft:
    Master26
    Как запретить клик или нажатие space в определённом инвентаре ?
     
  4. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    InventoryClickEvent + if(e.getInventory().getName().equals(Твое имя)) e.setCancelled(true);
     
  5. Stamorey

    Stamorey Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Stamorey
    Подскажите пожалуйста нубу)) Вот есть события, когда они обрабатываются из них можно брать нужные значения- например с помощью методов getBlock() getX() и тд.
    А можно как-нибудь при определенном событии изменить эти значения..

    Вот мое обрабатываемое событие (на клик по табличке)
    Можно как нибудь изменить через это событие надпись на ней,а не просто извлечь ее...

    (если для решения этой проблемы используют что-то другое напишите поподробнее про это)))
    видел вроде бы какой-то плагин, который "позволяет менять Надписи на табличках не ломая их" но наверное есть какой-то другой способ... )
    @EventHandler
    public void BlockTP(PlayerInteractEvent e)
    {

    if(e.getClickedBlock().getType() == Material.WALL_SIGN ||e.getClickedBlock().getType() == Material.SIGN_POST)
    {
    Sign s = (Sign)e.getClickedBlock().getState();
    if(s.getLine(0).equals("Chto-to-tam"))
    {
    Player p = e.getPlayer();
    World world_swl_1 = Bukkit.getWorld("lobby_sky1");
    p.teleport(new Location(world_swl_1,-322,73,1354));
    }
    }


    }
    --- Сообщения объединены: 12 ноя 2016, предыдущее сообщение: 12 ноя 2016 ---
    Понял как заменить блок на который кликнули на другой блок:
    e.getClickedBlock().setType(Material.OBSIDIAN); :rolleyes:
    Но все же это не решило проблему, не могу найти метод для изменения надписи на табличке...

    помог _AndreyBarna_ :
    @EventHandler
    public void SignTP(SignChangeEvent e)
    {
    if (e.getLine(0).equalsIgnoreCase("SkyWars_1")) {
    e.setLine(0, "§3опоп");
    }
    }
     
    Последнее редактирование: 12 ноя 2016
  6. _AndreyBarna_

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

    Баллы:
    76
    Имя в Minecraft:
    MainDRY
    SignChangeEvent
     
  7. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Винлокер или похуже? :D
     
  8. Danko

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

    Баллы:
    66
    Имя в Minecraft:
    Danko
    Как пересчитать игроков в мире, и вывести их количество?
     
  9. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Код (Java):
    1.  
    2. List<Player> jer = new ArrayList<>();
    3. for(Player p : Bukkit.getOnlinePlayers(){
    4. if(p.getLocation().getWorld().getName().equals(needLine))
    5. jer.add(p);
    6. }
    7. getLogger.info(String.valueOf(jer.size()));
     
  10. Danko

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

    Баллы:
    66
    Имя в Minecraft:
    Danko
    Всё работает, спасибо!
     
  11. kirill2011s

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

    Баллы:
    103
    Skype:
    kirill2011s
    Что это, мать его, за извращения?
    Код (Java):
    1. Bukkit.getOnlinePlayers().size()
     
  12. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну это выведет всех игроков. а нужно только в мире определённом
     
  13. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Bukkit.getOnlinePlayers().stream().filter(p -> p.getWorld().equals(world)).collect(Collectors.toList()).size();
     
  14. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Bukkit.getWorld(worldname).getPlayers()
     
  15. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Ыы.. Но ведь.. Легких путей.. Не ищем... :D
    Не знал что так можно(
     
  16. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Читайте доки.
     
  17. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
     
  18. GoldMine

    GoldMine Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    GoldMine
    ПОМОГИТЕ СКОМПИЛИРОВАТЬ!
    Недавно знакомый написал плагин на кейсы.. скинул мне коды, а как скомпилировать это не знаю в java не шарю вообще вот как выглядит файлы

    [​IMG]

    А вот как выглядят файлы в папке relhem


    [​IMG]
     
  19. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не поможем. У тебя два пустых класса. Реши с ними проблему, а после уже труби о помощи.
     
  20. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    сразу скажу что плагин - полное днище )
     
  21. Tcherckas

    Tcherckas Ньюби

    Баллы:
    1
    Имя в Minecraft:
    ChessterPlay
    Привет кто может немножко переделать
    dtlTraders
    1.11
    А то не могу открыть торговца Logs:
    Could not pass event NPCRightClickEvent to dtlTraders v3.4.3
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.citizensnpcs.EventListen.onPlayerInteractEntity(EventListen.java:414) [Citizens.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1520) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PacketPlayInUseEntity.a(SourceFile:69) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PacketPlayInUseEntity.a(SourceFile:13) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_111]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_111]
    at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:739) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:675) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:574) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
    Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_9_R1/NBTBase
    at net.dandielo.core.items.serialize.core.HideFlags.onRefactor(HideFlags.java:30) ~[?:?]
    at net.dandielo.core.items.dItem.refactor(dItem.java:176) ~[?:?]
    at net.dandielo.core.items.dItem.<init>(dItem.java:52) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.stock.StockItem.<init>(StockItem.java:53) ~[?:?]
    at net.dandielo.citizens.traders_v3.utils.ItemUtils.createStockItem(ItemUtils.java:22) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.selectAndCheckItem(Trader.java:902) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.updatePlayerInventory(Trader.java:348) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.types.Server.onRightClick(Server.java:115) ~[?:?]
    at net.dandielo.citizens.traders_v3.TEntityListener.npcRightClickEvent(TEntityListener.java:346) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    ... 24 more
    Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_9_R1.NBTBase
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
    at net.dandielo.core.items.serialize.core.HideFlags.onRefactor(HideFlags.java:30) ~[?:?]
    at net.dandielo.core.items.dItem.refactor(dItem.java:176) ~[?:?]
    at net.dandielo.core.items.dItem.<init>(dItem.java:52) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.stock.StockItem.<init>(StockItem.java:53) ~[?:?]
    at net.dandielo.citizens.traders_v3.utils.ItemUtils.createStockItem(ItemUtils.java:22) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.selectAndCheckItem(Trader.java:902) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.updatePlayerInventory(Trader.java:348) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.types.Server.onRightClick(Server.java:115) ~[?:?]
    at net.dandielo.citizens.traders_v3.TEntityListener.npcRightClickEvent(TEntityListener.java:346) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    ... 24 more
    [16:39:45] [Server thread/INFO]: ChessterPlay issued server command: /trader
    [16:39:47] [Server thread/INFO]: ChessterPlay issued server command: /trade
    [16:40:00] [Server thread/INFO]: ChessterPlay issued server command: /trader
    [16:40:20] [Server thread/ERROR]: Could not pass event NPCRightClickEvent to dtlTraders v3.4.3
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.citizensnpcs.EventListen.onPlayerInteractEntity(EventListen.java:414) [Citizens.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1520) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PacketPlayInUseEntity.a(SourceFile:69) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PacketPlayInUseEntity.a(SourceFile:13) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_111]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_111]
    at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:739) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:675) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:574) [spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
    Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_9_R1/NBTBase
    at net.dandielo.core.items.serialize.core.HideFlags.onRefactor(HideFlags.java:30) ~[?:?]
    at net.dandielo.core.items.dItem.refactor(dItem.java:176) ~[?:?]
    at net.dandielo.core.items.dItem.<init>(dItem.java:52) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.stock.StockItem.<init>(StockItem.java:53) ~[?:?]
    at net.dandielo.citizens.traders_v3.utils.ItemUtils.createStockItem(ItemUtils.java:22) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.selectAndCheckItem(Trader.java:902) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.updatePlayerInventory(Trader.java:348) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.types.Server.onRightClick(Server.java:115) ~[?:?]
    at net.dandielo.citizens.traders_v3.TEntityListener.npcRightClickEvent(TEntityListener.java:346) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    ... 24 more
    Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_9_R1.NBTBase
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
    at net.dandielo.core.items.serialize.core.HideFlags.onRefactor(HideFlags.java:30) ~[?:?]
    at net.dandielo.core.items.dItem.refactor(dItem.java:176) ~[?:?]
    at net.dandielo.core.items.dItem.<init>(dItem.java:52) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.stock.StockItem.<init>(StockItem.java:53) ~[?:?]
    at net.dandielo.citizens.traders_v3.utils.ItemUtils.createStockItem(ItemUtils.java:22) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.selectAndCheckItem(Trader.java:902) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.Trader.updatePlayerInventory(Trader.java:348) ~[?:?]
    at net.dandielo.citizens.traders_v3.traders.types.Server.onRightClick(Server.java:115) ~[?:?]
    at net.dandielo.citizens.traders_v3.TEntityListener.npcRightClickEvent(TEntityListener.java:346) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-f950f8e-4f47972]
    ... 24 more
     

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