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

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

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

  1. Djstim

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

    Баллы:
    78
    Как запретить клик или нажатие space в определённом инвентаре ?
     
  2. _MediaNik_

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

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

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

    Баллы:
    76
    Имя в 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));
    }
    }


    }
    Понял как заменить блок на который кликнули на другой блок:
    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
  4. _AndreyBarna_

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

    Баллы:
    76
    Имя в Minecraft:
    MainDRY
    SignChangeEvent
     
  5. Danko

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [​IMG]

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


    [​IMG]
     
  13. Dereku

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

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

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    сразу скажу что плагин - полное днище )
     
  15. 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
     
  16. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://github.com/Dandielo/dtlTraders
     
  17. asdqwertypro

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

    Баллы:
    76
    я новичок в создании плагинов... где можно найти всё что можно написать после ивентов? ну типо действия с игроком там... и... как определить блок? типо игрок сломал блок но... КАКОЙ?!
     
  18. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    http://rubukkit.org/search/7283008/?q=Bukkit-Events&o=date&c[title_only]=1
     
  19. asdqwertypro

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

    Баллы:
    76
    помогите! как сделать шансы сообщения... ну типо где p.sendMessage("1 сообщение"); p.sendMessage("2 сообщение"); и шансы 50% у каждого
     
  20. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    google.com -> рандом в java
     

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