Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Как запретить клик или нажатие space в определённом инвентаре ?
 
Подскажите пожалуйста нубу)) Вот есть события, когда они обрабатываются из них можно брать нужные значения- например с помощью методов 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опоп");
}
}
 
Последнее редактирование:
Подскажите пожалуйста нубу)) Вот есть события, когда они обрабатываются из них можно брать нужные значения- например с помощью методов 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:
Но все же это не решило проблему, не могу найти метод для изменения надписи на табличке...
SignChangeEvent
 
Как пересчитать игроков в мире, и вывести их количество?
 
Как пересчитать игроков в мире, и вывести их количество?
Java:
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()));
 
Всё работает, спасибо!
 
ПОМОГИТЕ СКОМПИЛИРОВАТЬ!
​
Недавно знакомый написал плагин на кейсы.. скинул мне коды, а как скомпилировать это не знаю в java не шарю вообще вот как выглядит файлы

716583841f804c03b75c83d01a1e8162.png


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


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

А вот как выглядят файлы в папке relhem
b1186b2f013f40c29a4a24d666f2a411.png
Не поможем. У тебя два пустых класса. Реши с ними проблему, а после уже труби о помощи.
 
ПОМОГИТЕ СКОМПИЛИРОВАТЬ!
​
Недавно знакомый написал плагин на кейсы.. скинул мне коды, а как скомпилировать это не знаю в java не шарю вообще вот как выглядит файлы

716583841f804c03b75c83d01a1e8162.png


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


b1186b2f013f40c29a4a24d666f2a411.png
сразу скажу что плагин - полное днище )
 
Привет кто может немножко переделать
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
 
я новичок в создании плагинов... где можно найти всё что можно написать после ивентов? ну типо действия с игроком там... и... как определить блок? типо игрок сломал блок но... КАКОЙ?!
 
помогите! как сделать шансы сообщения... ну типо где p.sendMessage("1 сообщение"); p.sendMessage("2 сообщение"); и шансы 50% у каждого
 

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

Назад
Верх