Giter Club home page Giter Club logo

chunkyborder's People

Contributors

billygalbreath avatar pop4959 avatar puremin0rez avatar roro1506hd avatar warriorrrr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

chunkyborder's Issues

Wrong teleport back

Hello!

If you eat chorus near the nether border, player teleports over bedrock.

2022-01-24_14 37 30
2022-01-24_14 37 34

Globe Wrapping

This is kind of a niche but for those who run earth servers it would be nice if there was a way to make the wrap work so that you are traveling across the globe. Kind of hard to describe so here is a picture to better explain what I am talking about.
image
As you can see If I cross the world border at Antarctica in the west, I should be teleported to a parallel spot on the border in the east. It's fine if you do not feel like implementing this feature as your resources might be better spent elsewhere. Just wanted to get this idea out there.

Folia

suggest adding support Folia
2023-05-07_00 15 18

Folia: Cannot retrieve chunk asynchronously

[02:44:38 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot retrieve chunk asynchronously
java.lang.Throwable: null
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.bukkit.craftbukkit.v1_20_R1.CraftWorld.getHighestBlockYAt(CraftWorld.java:995) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.bukkit.craftbukkit.v1_20_R1.CraftRegionAccessor.getHighestBlockYAt(CraftRegionAccessor.java:304) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.popcraft.chunky.platform.BukkitWorld.getElevation(BukkitWorld.java:107) ~[Chunky-1.3.95.jar:?]
        at org.popcraft.chunkyborder.BorderCheckTask.wrap(BorderCheckTask.java:72) ~[ChunkyBorder-1.1.62.jar:?]
        at org.popcraft.chunkyborder.BorderCheckTask.lambda$run$0(BorderCheckTask.java:37) ~[ChunkyBorder-1.1.62.jar:?]
        at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
        at org.popcraft.chunkyborder.BorderCheckTask.run(BorderCheckTask.java:29) ~[ChunkyBorder-1.1.62.jar:?]
        at org.popcraft.chunky.platform.Folia.lambda$scheduleFixedGlobal$1(Folia.java:29) ~[Chunky-1.3.95.jar:?]
        at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler$GlobalScheduledTask.run(FoliaGlobalRegionScheduler.java:179) ~[folia-1.20.1.jar:?]
        at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.tick(FoliaGlobalRegionScheduler.java:37) ~[folia-1.20.1.jar:?]
        at io.papermc.paper.threadedregions.RegionizedServer.globalTick(RegionizedServer.java:294) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at io.papermc.paper.threadedregions.RegionizedServer$GlobalTickTickHandle.tickRegion(RegionizedServer.java:149) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
[02:44:38 WARN]: [ChunkyBorder] Global task for ChunkyBorder v1.1.62 generated an exception
java.lang.IllegalStateException: Cannot retrieve chunk asynchronously
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:72) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.bukkit.craftbukkit.v1_20_R1.CraftWorld.getHighestBlockYAt(CraftWorld.java:995) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.bukkit.craftbukkit.v1_20_R1.CraftRegionAccessor.getHighestBlockYAt(CraftRegionAccessor.java:304) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at org.popcraft.chunky.platform.BukkitWorld.getElevation(BukkitWorld.java:107) ~[Chunky-1.3.95.jar:?]
        at org.popcraft.chunkyborder.BorderCheckTask.wrap(BorderCheckTask.java:72) ~[ChunkyBorder-1.1.62.jar:?]
        at org.popcraft.chunkyborder.BorderCheckTask.lambda$run$0(BorderCheckTask.java:37) ~[ChunkyBorder-1.1.62.jar:?]
        at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
        at org.popcraft.chunkyborder.BorderCheckTask.run(BorderCheckTask.java:29) ~[ChunkyBorder-1.1.62.jar:?]
        at org.popcraft.chunky.platform.Folia.lambda$scheduleFixedGlobal$1(Folia.java:29) ~[Chunky-1.3.95.jar:?]
        at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler$GlobalScheduledTask.run(FoliaGlobalRegionScheduler.java:179) ~[folia-1.20.1.jar:?]
        at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.tick(FoliaGlobalRegionScheduler.java:37) ~[folia-1.20.1.jar:?]
        at io.papermc.paper.threadedregions.RegionizedServer.globalTick(RegionizedServer.java:294) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at io.papermc.paper.threadedregions.RegionizedServer$GlobalTickTickHandle.tickRegion(RegionizedServer.java:149) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"ed4529a"]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

Using:
ChunkyBorder v1.1.62 (latest from master branch)
Chunky v1.3.95 (latest from master branch)
Folia 1.20.1

Border config:

{
  "world": {
    "world": "world",
    "centerX": 15360.0,
    "centerZ": 7936.0,
    "radiusX": 15355.0,
    "radiusZ": 7931.0,
    "shape": "rectangle",
    "wrap": "earth"
  }
}

Got A bug in 1.19.4

[19:23:37 ERROR]: Error occurred while enabling ChunkyBorder v1.1.50 (Is it up to date?)
com.google.gson.JsonSyntaxException: java.io.EOFException: End of input at line 10 column 5 path $.
at com.google.gson.Gson.fromJson(Gson.java:1224) ~[gson-2.10.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:1124) ~[gson-2.10.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:1094) ~[gson-2.10.jar:?]
at org.popcraft.chunkyborder.ChunkyBorder.loadBorders(ChunkyBorder.java:230) ~[ChunkyBorder-1.1.50.jar:?]
at org.popcraft.chunkyborder.ChunkyBorder.(ChunkyBorder.java:60) ~[ChunkyBorder-1.1.50.jar:?]
at org.popcraft.chunkyborder.ChunkyBorderBukkit.onEnable(ChunkyBorderBukkit.java:78) ~[ChunkyBorder-1.1.50.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.19.4.jar:git-Paper-550]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:474) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:638) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:437) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1104) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-550]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.io.EOFException: End of input at line 10 column 5 path $.
at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1455) ~[gson-2.10.jar:?]
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:503) ~[gson-2.10.jar:?]
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:422) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:183) ~[gson-2.10.jar:?]
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:144) ~[gson-2.10.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?]
... 17 more
[19:23:37 INFO]: [ChunkyBorder] Disabling ChunkyBorder v1.1.50
[19:23:37 ERROR]: Error occurred (in the plugin loader) while disabling ChunkyBorder v1.1.50 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "org.popcraft.chunkyborder.ChunkyBorder.disable()" because "this.chunkyBorder" is null
at org.popcraft.chunkyborder.ChunkyBorderBukkit.onDisable(ChunkyBorderBukkit.java:215) ~[ChunkyBorder-1.1.50.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:283) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:224) ~[paper-1.19.4.jar:git-Paper-550]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugin(PaperPluginManagerImpl.java:109) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:537) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:193) ~[paper-1.19.4.jar:git-Paper-550]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:474) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:638) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:437) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1104) ~[paper-1.19.4.jar:git-Paper-550]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-550]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

Bug report: Exception thrown on start up when world are unloaded by default (but unloaded by something else than multiverse)

When using PlayerWorldsPro (a plugin that allow players to create their own world)

If PlayerWorldsPro's configuration below is enabled

  # All player worlds load on startup.
  Load-On-Startup: false

CB is will to throw an exception on startup for each worlds that are not loaded.

[08:39:28] [Server thread/ERROR]: Could not pass event WorldLoadEvent to ChunkyBorder v1.0.23
java.lang.NullPointerException: null
	at org.popcraft.chunkyborder.ChunkyBorder.onWorldLoad(ChunkyBorder.java:199) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor277.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-443]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.createWorld(CraftServer.java:1171) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.Bukkit.createWorld(Bukkit.java:590) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.WorldCreator.createWorld(WorldCreator.java:325) ~[patched_1.16.5.jar:git-Paper-443]
	at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManager.java:499) ~[?:?]
	at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManager.java:480) ~[?:?]
	at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManager.java:455) ~[?:?]
	at com.onarandombox.MultiverseCore.utils.WorldManager.loadWorlds(WorldManager.java:767) ~[?:?]
	at com.onarandombox.MultiverseCore.MultiverseCore.onEnable(MultiverseCore.java:307) ~[?:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:501) ~[patched_1.16.5.jar:git-Paper-443]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:415) ~[patched_1.16.5.jar:git-Paper-443]
	at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:464) ~[patched_1.16.5.jar:git-Paper-443]
	at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:239) ~[patched_1.16.5.jar:git-Paper-443]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:935) ~[patched_1.16.5.jar:git-Paper-443]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:173) ~[patched_1.16.5.jar:git-Paper-443]

(Suggestion) Support for hex codes

Hello!

What do you think about enabling support for hex codes in config.ymlborder-optionsmessage?

When it comes to the format, I believe most people are used to Essentials' &#RRGGBB.

Worldborder does not display currently on Pl3xMap

Hi

Currently when using pl3xmap, the right side line for the world border does not appear. I spoke to the developer of pl3xmap and they stated its an issue to do with chunky or chunkyborder.

I am not sure if this bug happens on dynmap or any other 3d viewing platform.
1

Introduce a /chunkyborder bypass command

Hi, recently switching from WorldBorder and I've noticed that the only way to allow someone to bypass the border is by giving them the permission. I feel introducing a command to toggle bypass for yourself and others could be much more convenient. The two commands could be:

  • /chunkyborder bypass
  • /chunkyborder bypass [player]

This can 1. Allow toggling whether you yourself will bypass the border (personally, I only wish to bypass the border for specific circumstances, and I'd prefer not giving myself the permission every time) and 2. Toggle whether a specific user can bypass the border. This will prevent having to give them the bypass permission, and makes the process easier overall.

I believe the first command can be introduced via the chunkyborder.bypass.move permission, and the second one can potentially be a permission like chunkyborder.bypass.move.others, for example. But it may be easier to just make a separate permission entirely.

Feature suggestion - Ability to expand/retract an existing border by radius difference

There are servers who would like to adjust their world border radii in a scheduled way, most commonly by making frequent small increments.

The old "WorldBorder" plugin supported this behavior in this way:
/wb [worldname] radius <radiusX> [radiusZ] - change border radius for this world. The world needs to have already had a border set, since the x and z values are not modified. If radiusZ isn't specified, the radiusX value will be used for both. A "+" or "-" can be added to the start of radiusX or radiusZ to have the current radius increased or decreased a specified amount, for example "+100" would increase the existing border radius by 100 blocks.

I suggest adding a similar feature to ChunkyBorder, and I think I can perhaps best illustrate my idea of it with how it could work from the user side in an example context.

Already present functionality, for background information about the example setting used here:

> chunkyborder list
Border List
myworld_nether: circle with center 0, 0 and radius 2500
myworld_the_end: circle with center 0, 0 and radius 5000
myworld: circle with center 0, 0 and radius 20000

[^- nothing new here]

Example use of suggested new commands "expand" and "retract" and their effects:

> chunkyborder expand myworld 100
myworld border size has been expanded by 100
new border is: circle with center 0, 0 and radius 20100
> chunkyborder retract myworld_the_end 500
myworld_the_end border size has been retracted by 500
new border is: circle with center 0, 0 and radius 4500

[^- THIS IS WHAT IS NEW]

Output according to existing functionality, to show the desired results of the suggested commands above:

> chunkyborder list
Border List
myworld_nether: circle with center 0, 0 and radius 2500
myworld_the_end: circle with center 0, 0 and radius 4500
myworld: circle with center 0, 0 and radius 20100

[^- nothing new here]

How this then could be used with Chunky's existing functionality to generate chunks for the new world area inside the expanded world border:

> chunky start myworld
[Chunky] Task started for myworld at 0, 0 with radius 20100.
[Chunky] Task running for myworld. Processed:  [...]
[...]
[Chunky] Task finished for myworld. Processed: [...]

[^- nothing new here]

If the expand/retract commands were implemented, the server administrator could set up a scheduled job to modify the world border radius without having to set up something like a custom plugin for a variable to keep track of the current/desired radii.

NPE on server start-up

Spigot 1.16.3
Chunky 1.1.14
ChunkyBorder 1.0.0

On server start-up, the log reports

[15:35:27] [Server thread/INFO]: [ChunkyBorder] Enabling ChunkyBorder v1.0.0
[15:35:27] [Server thread/ERROR]: Error occurred while enabling ChunkyBorder v1.0.0 (Is it up to date?)
java.lang.NullPointerException: null
        at org.popcraft.chunkyborder.ChunkyBorder.onEnable(ChunkyBorder.java:107) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:216) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:808) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at java.lang.Thread.run(Thread.java:834) [?:?]

and later, before any players connect

[15:36:38] [Server thread/ERROR]: Could not pass event PlayerTeleportEvent to ChunkyBorder v1.0.0
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.craftbukkit.v1_16_R2.entity.CraftPlayer.teleport(CraftPlayer.java:640) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity.teleport(CraftEntity.java:468) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:272) ~[?:?]
        at net.citizensnpcs.npc.CitizensNPC.load(CitizensNPC.java:162) ~[?:?]
        at net.citizensnpcs.api.npc.SimpleNPCDataStore.loadInto(SimpleNPCDataStore.java:59) ~[?:?]
        at net.citizensnpcs.Citizens$3.run(Citizens.java:339) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1059) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:349) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
        at org.popcraft.chunkyborder.ChunkyBorder.onPlayerTeleport(ChunkyBorder.java:208) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.16.3.jar-2020-09-26-2133:git-Spigot-17d78db-a339310]
        ... 17 more

several times.

Issue with World Border disappearing with multiple worlds

Wonder addition to chunky!

I just recently added multiverse to add a creative world to our survival server. I can add borders to both worlds, but eventually either the survival, creative, or both worlds will have the chunkyborder dropped.

Nothing in logs or anything shows that it is dropping the WB due to an error, was wondering if anyone had run into these issues before.

Version mismatch

Simple: Plugin is built against Version X of Chunky for all available versions of minecraft. That does lead to the current version of this plugin require a version of chunky that does not exist for 1.18.2.

Crash when teleporting from Nether->Overworld outside WordBorder

Error 1:
Regarding a vanilla MC WorldBorder, set to [small-size].

  1. Go to Nether
  2. Go through new portal far away, back to overworld
  3. You are now outside the vanilla worldborder = Client loads forever.
    Log: https://pastebin.com/6epS2Qwt

Error 2:
Regarding a Chunky Border, set to [small-size] (but large vanilla worldborder)

  1. Go to Nether
  2. Go through new portal far away, back to overworld
  3. You are still inside the vanilla worldborder, but outside Chunky's border
    Log: https://pastecode.io/s/u1o2xuc8

Versions:
Minecraft 1.19
Fabric Loader 14.8, API 0.56.0
Chunky 1.2.202
ChunkyBorder 1.0.70

Chunky is only trimming region files

I am on the latest versions and MC 1.16.5. There is an issue where trimming the world doesnt trim any chunks, it only trims region files. So it trims from the border of the region file and not the worldborder. I.e If I set my border to 100 and try to trim, it wont start trimming until 512 blocks out

Feature request: Trim Command

It would be fantastic if you could add the trim command ambivalent to the worldborder trim command. The command is the opposite of the fill command and ensures that chunks outside the set worldborder are removed. The Trim Command was always a useful companion and I would be happy to see him again.

commands:

chunkyborder trim 
chunkyborder trim pause 
chunkyborder trim stop

ChunkyBorder 1.1.50 crash with Minecraft 1.20.2, fabric loader 0.14.22, fabric launcher 0.11.2

I'm seeing a crash in ChunkyBorder 1.1.50 with fabric on Minecraft 1.20.2

running only Chunky 1.3.92, Chunky Border 1.1.50 and fabric api 0.89.3+1.20.2

---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 2023-10-06 11:23:11
Description: Exception in server tick loop

java.lang.NoSuchMethodError: 'void net.minecraft.class_2658.(net.minecraft.class_2960, net.minecraft.class_2540)'
at org.popcraft.chunkyborder.ChunkyBorderFabric.sendBorderPacket(ChunkyBorderFabric.java:125)
at org.popcraft.chunkyborder.ChunkyBorderFabric.lambda$onInitialize$0(ChunkyBorderFabric.java:58)
at net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents.lambda$static$2(ServerPlayConnectionEvents.java:48)
at net.fabricmc.fabric.impl.networking.server.ServerPlayNetworkAddon.onClientReady(ServerPlayNetworkAddon.java:67)
at net.minecraft.class_3324.handler$zeb000$fabric-networking-api-v1$handlePlayerConnection(class_3324.java:2504)
at net.minecraft.class_3324.method_14570(class_3324.java:195)
at net.minecraft.class_8610.method_52408(class_8610.java:128)
at net.minecraft.class_8736.method_53043(class_8736.java:20)
at net.minecraft.class_8736.method_11054(class_8736.java:7)
at net.minecraft.class_2600.method_11072(class_2600.java:23)
at net.minecraft.class_3738.run(class_3738.java:18)
at net.minecraft.class_1255.method_18859(class_1255.java:156)
at net.minecraft.class_4093.method_18859(class_4093.java:23)
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:778)
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:163)
at net.minecraft.class_1255.method_16075(class_1255.java:130)
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:760)
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:754)
at net.minecraft.class_1255.method_18857(class_1255.java:139)
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:739)
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:263)
at java.base/java.lang.Thread.run(Thread.java:833)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- System Details --
Details:
Minecraft Version: 1.20.2
Minecraft Version ID: 1.20.2
Operating System: Linux (amd64) version 4.15.0-163-generic
Java Version: 17.0.7, Private Build
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Private Build
Memory: 1784093696 bytes (1701 MiB) / 2992635904 bytes (2854 MiB) up to 4294967296 bytes (4096 MiB)
CPUs: 16
Processor Vendor: GenuineIntel
Processor Name: Intel(R) Xeon(R) E-2288G CPU @ 3.70GHz
Identifier: Intel64 Family 6 Model 158 Stepping 13
Microarchitecture: Coffee Lake
Frequency (GHz): 3.70
Number of physical packages: 1
Number of physical CPUs: 8
Number of logical CPUs: 16
Graphics card #0 name: ASPEED Graphics Family
Graphics card #0 vendor: ASPEED Technology, Inc. (0x1a03)
Graphics card #0 VRAM (MB): 0.00
Graphics card #0 deviceId: 0x2000
Graphics card #0 versionInfo: unknown
Virtual memory max (MB): 72050.14
Virtual memory used (MB): 89931.44
Swap memory total (MB): 7632.44
Swap memory used (MB): 65.00
JVM Flags: 3 total; -Xmx4096M -Xms256M -XX:ParallelGCThreads=2
Fabric Mods:
chunky: Chunky 1.3.92
chunkyborder: ChunkyBorder 1.1.50
fabric-api: Fabric API 0.89.3+1.20.2
fabric-api-base: Fabric API Base 0.4.33+fce67b32a0
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.41+fce67b32a0
fabric-biome-api-v1: Fabric Biome API (v1) 13.0.12+d9a2869ba0
fabric-block-api-v1: Fabric Block API (v1) 1.0.12+73761d2ea0
fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.1+73761d2ea0
fabric-command-api-v1: Fabric Command API (v1) 1.2.36+f71b366fa0
fabric-command-api-v2: Fabric Command API (v2) 2.2.15+86b12645a0
fabric-commands-v0: Fabric Commands (v0) 0.2.53+df3654b3a0
fabric-containers-v0: Fabric Containers (v0) 0.1.72+df3654b3a0
fabric-content-registries-v0: Fabric Content Registries (v0) 5.0.4+285022b3a0
fabric-convention-tags-v1: Fabric Convention Tags 1.5.7+f4b7e424a0
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.20+f4b7e424a0
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 13.1.2+d19c4129a0
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.56+b1229956a0
fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.25+f4b7e424a0
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.9+daef22a2a0
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.68+df3654b3a0
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.40+f4b7e424a0
fabric-item-api-v1: Fabric Item API (v1) 2.1.32+43511215a0
fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.13+f4b7e424a0
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.26+3bafade3a0
fabric-loot-api-v2: Fabric Loot API (v2) 2.0.2+0ba8e9cea0
fabric-message-api-v1: Fabric Message API (v1) 6.0.1+e982ae85a0
fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.54+f4b7e424a0
fabric-networking-api-v1: Fabric Networking API (v1) 3.0.8+b18afef3a0
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 12.1.1+b1b4f7b0a0
fabric-particles-v1: Fabric Particles (v1) 1.1.4+f4b7e424a0
fabric-recipe-api-v1: Fabric Recipe API (v1) 2.0.5+96509552a0
fabric-registry-sync-v0: Fabric Registry Sync (v0) 4.0.3+34a3e0e2a0
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.39+73761d2ea0
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.30+f4b7e424a0
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.9+43511215a0
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.11+86b12645a0
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.38+86b12645a0
fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.8+109a65e5a0
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 5.0.3+fce67b32a0
fabricloader: Fabric Loader 0.14.22
java: OpenJDK 64-Bit Server VM 17
minecraft: Minecraft 1.20.2
Server Running: true
Player Count: 0 / 10; []
Data Packs: vanilla, fabric
Enabled Feature Flags: minecraft:vanilla
World Generation: Stable
Is Modded: Definitely; Server brand changed to 'fabric'
Type: Dedicated Server (map_server.txt)

Console Spam with SVIS Integration

Unsure if this is something for you or something SelectionVisualizer needs to update but I'm posting in both places just in case. Started getting some pretty significant console spam after the update to ChunkyBorder 1.0.38 (SVIS hadn't at the time made any changes). Spam shows up regardless of whether the SVIS integration is enabled. Looks like it's due to CB's changes to the center point of the border.

ERROR: https://gist.github.com/mercurialmusic/96ea289df3b0e1353137a77dfc32247b

Server Type (Spigot/Paperspigot/etc): Paper
Server Version: git-Paper-777 (MC 1.16.5) on Java 16

Relevant plugins: SelectionVisualizer 3.0.4.0

Thanks!

(Bug) The border's colour cannot be changed for Dynmap

The parameter that sets the colour of the border in the config does not change anything and the border stays red on the map.

...
# The hexadecimal color code of the world border shown on the map.
# For help with this, visit a site like https://www.color-hex.com/
color: FF0000
...

Using Dynmap on Paper 1.18 with the latest version of Chunky and ChunkyBorder.
There are no console errors during startup relating the either plugin.

Feature request: notification when bypassed players cross the border

Example:

If a user with chunkyborder.bypass.move crosses the world border, a message notification will tell them they have left the border bounds. Maybe even one on re-entry.

Another one could be for chunkyborder.bypass.place where when it removed the block it says "you aren't in the world border anymore

Feature request: y axis range limit

Currently, ChunkyBorder can only limit the x z axis range.
I suggest adding an option to limit the y axis range.

This would be useful for nether roof etc.

Border does not prevent tp outside it

Spigot 1.16.3
LuckPerms 5.2.16
Chunky 1.1.20
ChunkyBorder 1.0.2

plugins/ChunkyBorder/borders.json

{"world":{"world":"world_luckyblock","centerX":0,"centerZ":0,"radiusX":100,"radiusZ":100,"shape":"square"}}

Player SlimeDog is in LuckPerms group admin.

>perms group admin permission checkinherits chunkyborder.bypass.move
[17:26:03] [pool-13-thread-1/INFO]: [LP] chunkyborder.bypass.move has permission false set to admin in context global. (inherited from default)
>perms group admin permission checkinherits chunkyborder.bypass.place
[17:26:08] [pool-13-thread-1/INFO]: [LP] chunkyborder.bypass.place has permission false set to admin in context global. (inherited from default)

Server stopped and restarted. Player SlimeDog connected in world_luckyblock.

tp SlimeDog -111 ~ -111

succeeds in placing player outside border.

Small nether border causes incorrect bed respawn

Hey; I've had my server setup such that the overworld is a 10000 radius circle and the nether, being 1/8 of that, is 1250.
However whenever you die in the Nether (I believe the end as well), when your bed location in the overworld is outside of the border in the dimension you died in, you'll be teleported to, what I believe is, somewhere on the Nether border's limits; not the overworld's.
Basically, you have a bed respawn point at x5000, z0, you'll respawn at x1250 z0 (or something along those lines).

Current workaround is setting nether and overworld radiuses to be the same.

forge

Is there any plans to add chunkborder to forge?

More fine-grained border

Spigot 1.16.3
Chunky 1.1.14
ChunkyBorder 1.0.1

Player executed

/mvtp world_luckyblock
/chunky center 0 0
[Chunky] Center changed to 0, 0.
/chunky radius 100
[Chunky] Radius change to 100.
/chunky shape square
[Chunky] Shape changed to square.
/cb add
[Chunky] Added square world border to world with center 0, 0, and radius 100.
/lp group default permission set chunkyborder.bypass.move false
/lp user PLAYER_NAME_ELIDED permission checkinherits chunkyborder.bypass.move
[LuckPerms] PLAYER_NAME_ELIDED has permission chunkyborder.bypass.move set to false in context global. (inherited from default) 
/minecraft:tp PLAYER_NAME_ELIDED 105 9 105

plugins/ChunkyBorder/borders.json

{"world":{"world":"world","centerX":0,"centerZ":0,"radiusX":100,"radiusZ":100,"shape":"square"}}

Note that player was not in the default world "world" when the commands above were executed.
Player can transport to a location outside Chunky border 100,100 in either world.

Bug with teleporting outside border

Issue i have found - scenario.

  1. a player has permission to bypass the chunky border.
  2. a second player does not have permission to pass the chunky border
  3. If a teleport is used (from any plugin such as essentials tpa, or tpall) to a player that doesn't have border bypass, the player who does not have permission to border byoass to the person whgo does will then be teleported on top of the nether roof.
    hope this helps :3
    1.17.1 paper.

Feature request: sync vanilla worldborder with CB border

Vanilla worldborder has the advantage of being more aesthetic and more ergonomic for players but has the disadvantage of not beeing safe (spectator gamemode can pass trough for example).

Adding an option per border to synchronize the vanilla one with the CB one would be nice. This option would probably only works on border with a square shap

Impossible dependancy

[23:15:01] [main/INFO]: Loading Minecraft 1.18.2 with Fabric Loader 0.14.9
[23:15:02] [main/WARN]: Mod resolution failed
[23:15:02] [main/INFO]: Immediate reason: [HARD_DEP_NO_CANDIDATE chunkyborder 1.0.70 {depends chunky @ [>=1.2.188]}, ROOT_FORCELOAD_SINGLE chunkyborder 1.0.70]
[23:15:02] [main/INFO]: Reason: [HARD_DEP chunkyborder 1.0.70 {depends chunky @ [>=1.2.188]}]
[23:15:02] [main/INFO]: SERVER environment disabled: [fabric-renderer-api-v1, c2me-client-uncapvd, fabric-keybindings-v0, fabric-textures-v0, fabric-screen-api-v1, fabric-renderer-indigo, fabric-blockrenderlayer-v1, coat, fabric-renderer-registries-v1, tweed4_tailor_screen, fabric-models-v0, tweed4_tailor_coat, fabric-rendering-v0, fabric-key-binding-api-v1, fabric-rendering-v1]
[23:15:02] [main/INFO]: Fix: add [], remove [], replace [[chunky 1.2.164] -> add:chunky 1.2.188 ([[1.2.188,∞)])]
[23:15:02] [main/ERROR]: Incompatible mod set!
net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Replace mod 'Chunky' (chunky) 1.2.164 with version 1.2.188 or later.
Unmet dependency listing:
	 - Mod 'Chunkyborder' (chunkyborder) 1.0.70 requires version 1.2.188 or later of mod 'Chunky' (chunky), but only the wrong version is present: 1.2.164!
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:190) ~[fabric-loader-0.14.9.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) ~[fabric-loader-0.14.9.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) [fabric-loader-0.14.9.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.14.9.jar:?]
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) [fabric-loader-0.14.9.jar:?]
	at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) [fabric-server-mc.1.18.2-loader.0.14.9-launcher.0.11.0.jar:0.11.0]

As you can see the mod requires a higher version which does not exist for 1.18.2

Add wrap feature

Add the wrap command and feature to enable players to be tp'd to other side of map. When they reach a world border.

If possible on a square bordered world add a feature where players only get tp'd when they reach the x cord borders. (more realistic) but that is not a necessity.

Thank you

Feature request: active world

Presently, one needs to use chunky world <world> to change to the current world (unless the current world is world). This is rather non-intuitive. Please consider making the active world for all commands the current world, unless it has been explicitly set with chunky world <world>.

See related Chunky feature request: pop4959/Chunky#53

Plugin fails to load on 1.16.5 PaperMC server

I'm not certain if this is a dependency issue, my own error, or an actual bug but i though I'd report this here.

Installed plugins:

  • Chunky 1.1.21
  • Dynmap v3.1-beta-7
  • Harbor 1.6.4-b1-SNAPSHOT
  • LuckPerms Bukkit-5.2.125
  • Vivecraft 1.16.5

Stack trace:

org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/popcraft/chunky/platform/World
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:141) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:389) ~[patched_1.16.5.jar:git-Paper-494]
        at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:206) ~[patched_1.16.5.jar:git-Paper-494]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:941) ~[patched_1.16.5.jar:git-Paper-494]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175) ~[patched_1.16.5.jar:git-Paper-494]
        at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: java.lang.NoClassDefFoundError: org/popcraft/chunky/platform/World
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:468) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:79) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Paper-494]
        ... 7 more
Caused by: java.lang.ClassNotFoundException: org.popcraft.chunky.platform.World
        at java.net.URLClassLoader.findClass(URLClassLoader.java:435) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:182) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:111) ~[patched_1.16.5.jar:git-Paper-494]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:468) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:79) ~[patched_1.16.5.jar:git-Paper-494]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Paper-494]
        ... 7 more

Feature request: Suggestions for coordinates

Maybe is a suggestions for coordinates at tab completion as in the vanilla commands a think.
In Vanilla, the coordinates you look at are used as a suggestion. However, this could lead to decimal numbers.
Maybe this is useful for some people.

Realistic Earth Border Wrapping

On an Earth map, going to the Max Z would bring you straight to antarctica; not very realistic.

Very easy to fix. Add an option called "Realistic Earth Border Wrapping."

Math for this would be pretty simple, its simply:

        } else if (location.getZ() <= minZ) {

            location.setZ(location.getZ() - 3); // so you dont fall off into the void
            location.setX(location.getX() * -1); //yeah thats literally it

        } else if (location.getZ() >= maxZ) {

            location.setZ(location.getZ() + 3); // so you dont fall off into the void
            location.setX((location.getX()) * -1); //yeah thats literally it
        }

yeah, literally just multiple the X coordinate by -1. that's it.

Pl3xMap integration throws an error on server stop

> stop
[01:28:35 INFO]: Stopping the server
[01:28:35 INFO]: Stopping server
[01:28:35 INFO]: [ChunkyBorder] Disabling ChunkyBorder v1.1.50
[01:28:35 ERROR]: Error occurred (in the plugin loader) while disabling ChunkyBorder v1.1.50 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "net.pl3x.map.core.Keyed.getKey()" because "value" is null
        at net.pl3x.map.core.registry.Registry.register(Registry.java:41) ~[Pl3xMap-1.20.1-469.jar:?]
        at org.popcraft.chunkyborder.integration.Pl3xMapIntegration.resetLayer(Pl3xMapIntegration.java:96) ~[ChunkyBorder-1.1.50.jar:?]
        at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4780) ~[?:?]
        at org.popcraft.chunkyborder.integration.Pl3xMapIntegration.removeAllShapeMarkers(Pl3xMapIntegration.java:61) ~[ChunkyBorder-1.1.50.jar:?]
        at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
        at org.popcraft.chunkyborder.ChunkyBorder.disable(ChunkyBorder.java:69) ~[ChunkyBorder-1.1.50.jar:?]
        at org.popcraft.chunkyborder.ChunkyBorderBukkit.onDisable(ChunkyBorderBukkit.java:215) ~[ChunkyBorder-1.1.50.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:283) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:224) ~[paper-1.20.1.jar:git-Paper-102]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:148) ~[paper-1.20.1.jar:git-Paper-102]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:92) ~[paper-1.20.1.jar:git-Paper-102]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:528) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.disablePlugins(CraftServer.java:570) ~[paper-1.20.1.jar:git-Paper-102]
        at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:943) ~[paper-1.20.1.jar:git-Paper-102]
        at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:806) ~[paper-1.20.1.jar:git-Paper-102]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1210) ~[paper-1.20.1.jar:git-Paper-102]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-102]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
[01:28:35 INFO]: [Chunky] Disabling Chunky v1.3.92
[01:28:35 INFO]: [Pl3xMap] Disabling Pl3xMap v1.20.1-469
[01:28:35 INFO]: [Pl3xMap] [INFO] Internal webserver stopped

paper-1.20.1-102
Chunky-1.3.92
ChunkyBorder-1.1.50
Pl3xMap-1.20.1-469

the border itself is still being correctly displayed on map

Command usage

More and more precise Commad usage help in case of wrong or incomplete input would be helpful.

(Suggestion) Fabric support

Hello! I've been loving the Chunky mod so far—thanks for keeping it updated and working across mod loaders.

Would it be possible to bring this plugin to Fabric, or integrate its functionality into the main Chunky mod?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.