Estou tentando checar se a flag da localização do bloco que é quebrado pelo jogador está em true, ou seja, se ele consegue quebrar esse bloco..
Tentei esse código:
Player p = e.getPlayer();
ApplicableRegionSet rg = WGBukkit.getPlugin().getRegionManager(p.getWorld()).getApplicableRegions(e.getBlock().getLocation());
if (rg.getFlag(DefaultFlag.BUILD) != null) {
if(rg.queryState(null, DefaultFlag.BUILD) == State.ALLOW){
Porem quando quebro da esse erro:
[19:22:01] [Server thread/ERROR]: Could not pass event BlockBreakEvent to MineTeckPVP v1.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[custom.jar:git-Spigot-e000104-4cb3258]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[custom.jar:git-Spigot-e000104-4cb3258]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [custom.jar:git-Spigot-e000104-4cb3258]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:292) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PlayerInteractManager.a(PlayerInteractManager.java:218) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:846) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:40) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:10) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [custom.jar:git-Spigot-e000104-4cb3258]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_91]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_91]
at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [custom.jar:git-Spigot-e000104-4cb3258]
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [custom.jar:git-Spigot-e000104-4cb3258]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: java.lang.NullPointerException: The build flag is handled in a special fashion and requires a non-null subject parameter
at com.sk89q.worldguard.protection.FlagValueCalculator.queryAllValues(FlagValueCalculator.java:274) ~[?:?]
at com.sk89q.worldguard.protection.FlagValueCalculator.queryValue(FlagValueCalculator.java:220) ~[?:?]
at com.sk89q.worldguard.protection.RegionResultSet.queryValue(RegionResultSet.java:103) ~[?:?]
at com.sk89q.worldguard.protection.AbstractRegionSet.getFlag(AbstractRegionSet.java:101) ~[?:?]
at com.sk89q.worldguard.protection.AbstractRegionSet.getFlag(AbstractRegionSet.java:108) ~[?:?]
at boladex.pvp.toinv.Eventos.quebrou(Eventos.java:204) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_91]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_91]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[custom.jar:git-Spigot-e000104-4cb3258]
... 17 more
Pergunta
Boladexziinho
Estou tentando checar se a flag da localização do bloco que é quebrado pelo jogador está em true, ou seja, se ele consegue quebrar esse bloco..
Tentei esse código:
Porem quando quebro da esse erro:
Já procurei soluções, mas sem sucesso..
Versão 1.9
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados