Вопрос WorldEdit 7.2

Вероятно, на сервере установлена другая версия плагина.
С ворлд едитом проблему решил, теперь ворлдгуард, чем ему не нравится мир?


RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
World world = location.getWorld();
com.sk89q.worldguard.protection.managers.RegionManager regions = container.get((com.sk89q.worldedit.world.World) world);
ProtectedRegion region = regions.getRegion(String.valueOf(Utils.getConfig().getConfigurationSection("regions").getKeys(false)));
 
Ему нужен не Bukkit-овский мир, а свой.
BukkitAdapter.adapt(World) вроде как
Код:
java.lang.NullPointerException: null

    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770) ~[patched_1.16.5.jar:git-Purpur-1171]

    at com.sk89q.worldguard.protection.managers.RegionManager.getApplicableRegions(RegionManager.java:317) ~[?:?]

    at ru.hamrusy.codejobs.utils.RegionManager.getRegion(RegionManager.java:38) ~[?:?]

    at ru.hamrusy.codejobs.utils.RegionManager.isInRegion(RegionManager.java:21) ~[?:?]

    at ru.hamrusy.codejobs.listener.EventListener.blockPlaceEvent(EventListener.java:79) ~[?:?]

    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1951.execute(Unknown Source) ~[?:?]

    at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Purpur-1171]

    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Purpur-1171]

    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Purpur-1171]

    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.16.5.jar:git-Purpur-1171]

    at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:398) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.ItemStack.placeItem(ItemStack.java:335) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.PlayerInteractManager.a(PlayerInteractManager.java:594) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1843) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.PacketPlayInUseItem.a(PacketPlayInUseItem.java:32) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.PacketPlayInUseItem.a(PacketPlayInUseItem.java:10) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:55) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1339) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1332) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1469) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1142) ~[patched_1.16.5.jar:git-Purpur-1171]

    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:293) ~[patched_1.16.5.jar:git-Purpur-1171]

    at java.lang.Thread.run(Thread.java:829) [?:?]
Объединено


Java:
public static String getRegion(final Location location) {

    RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();

    World world = location.getWorld();

    com.sk89q.worldguard.protection.managers.RegionManager regions = container.get(BukkitAdapter.adapt(world));

    ProtectedRegion region = regions.getRegion(String.valueOf(Utils.getConfig().getConfigurationSection("regions").getKeys(false)));

    assert region != null;

    for (final ProtectedRegion protectedRegion : regions.getApplicableRegions(region).getRegions()) {

        if (isRegion(protectedRegion.getId())) {

            return protectedRegion.getId();

        }

    }

    return null;

}
 
Последнее редактирование модератором:
ProtectedRegion region = regions.getRegion(String.valueOf(Utils.getConfig().getConfigurationSection("regions").getKeys(false)));
Ты получаешь секцию из конфига и пытаешься получить из неё регион.
Конечно такого региона не будет.
 
Ты получаешь секцию из конфига и пытаешься получить из неё регион.
Конечно такого региона не будет.
До этого у меня было так, но апи изменилось и я запутался


Java:
    public static String getRegion(final Location location) {
        for (final ProtectedRegion protectedRegion : Main.getWorldGuard().getRegionManager(location.getWorld()).getApplicableRegions(location).getRegions()) {
            if (isRegion(protectedRegion.getId())) {
                return protectedRegion.getId();
            }
        }
        return null;
    }
Объединено

Все решил
 
Последнее редактирование:
Назад
Сверху Снизу