NoNewChunk
The server will not create any new chunk.
I was surprised that this very simple plugin did not exist (as far as i know). So I made it.
What it does is very simple, it prevents the generation of new chunk. This is useful if you already generated a world and you don't want new chunk to be created.
Non generated chunks appear as void in which players can fall (and die). It is absolutely impossible to build anything in them, they don't exist in memory.
Commands (You can also use /NoNewChunk) :
- /nnc enable [world]
Enable the plugin for the specified world. If world is omitted the world you are currently on is used.
- /nnc disable [world]
Disable the plugin for the specified world. If world is omitted the world you are currently on is used.
- /nnc list
List all the world where the plugin is active.
- /nnc loadedchunks
Tells you how many chunks are loaded
Known bugs :
If you disconnect in or near a non-loaded chunk you might get stuck (chunks don't show at all) when logging back in.
Would it be possible to enable/disable chunk generation by permissions? I am using PermissionsEx and I would like to set it so my guest group does not generate new chunks if they move to the edge of the map.
@SamsamTS
I had assumed that all Bukkit events were cancellable. After looking more at the documentation, however, I see that is not the case.
One possibility may be to ignore chunk load events where isNewChunk() == true, and instead listen for a chunk populate event, at the "HIGHEST" priority. I believe any event listener doing so would be the very last listener called, ensuring that chunks are still properly generated, should a user stop using your plugin (temporarily, of course ;) ) This is untested, though, so I'd be curious to hear if it works, should you implement it.
@dannytix
Well I use the unload method from the chunk class, which should be clean, but the problem is that I call it through the load event. I know it's kinda hackish. I tried to do prevent chunks from loading differently and I can't find any way to cancel chunk events, there is no setCancelled method for them. Anyway I'll try to find a cleaner way. It's my first bukkit plugin so I'm still learning the API.
Thanks for sharing your thought.
@SamsamTS
I'm going to go ahead and add some extra safety checks to BioMed which should keep this particular problem from appearing again, but the "real solution" requires some work on your end.
The problem is that you're not unloading the chunks cleanly, so Bukkit- specifically, the block populator system- is still sending out new chunk events to other plugins- not just BioMed. I haven't gotten around to looking at your code yet, so I can't offer any specific details, but your plugin should be cancelling these events when it unloads the chunk.
@SamsamTS
Thanks, for looking into it. Should've looked a bit more into the log.
Contacted the biomed author.
@ElectroBot4
It's seems to be a problem with the BioMed plugin. Unfortunately I can't do anything about it, my plugin unload non generated chunks from memory so when BioMed try to set the biome the chunk is null thus the null pointer exception. If the server doesn't stop running I think you can just ignore the error. Otherwise you gonna have to choose between the two plugins.
You may also ask the BioMed author to add a null check in his setBiomes method.
Also I totally forgot to change the version in the plugin.yml thanks for pointing this out.
EDIT These errors popped up when I was flying near regions which should not be generating new chunks.
I think you may have a conflict with WorldGuard:
Using version 0.2 which disabled the plugin from working in the world "gcw1" even though it was in the config file.
<<code 2012-09-26 05:41:28 [INFO] Starting minecraft server version 1.3.1
2012-09-26 05:41:28 [INFO] Loading properties
2012-09-26 05:41:28 [INFO] Default game type: CREATIVE
2012-09-26 05:41:28 [INFO] Generating keypair
2012-09-26 05:41:29 [INFO] Starting Minecraft server on *:25565
2012-09-26 05:41:29 [INFO] This server is running CraftBukkit version git-Bukkit-1.3.1-R2.0-b2340jnks (MC: 1.3.1) (Implementing API version 1.3.1-R2.0)
2012-09-26 05:41:29 [INFO] [NoNewChunk] Loading NoNewChunk v0.1
2012-09-26 05:41:29 [INFO] [WorldEdit] Loading WorldEdit v5.4.2
2012-09-26 05:41:29 [INFO] [Multiverse-Core] Loading Multiverse-Core v2.4-b527
2012-09-26 05:41:29 [INFO] [WorldGuard] Loading WorldGuard v643-19be2bf
2012-09-26 05:41:29 [INFO] [CleanroomGenerator] Loading CleanroomGenerator v1.0.0
2012-09-26 05:41:29 [INFO] [Essentials] Loading Essentials v2.9.3
2012-09-26 05:41:29 [INFO] [dynmap] Loading dynmap v0.80-1315
2012-09-26 05:41:29 [INFO] [BioMed] Loading BioMed v0.5
2012-09-26 05:41:29 [INFO] [WorldBorder] Loading WorldBorder v1.5.4
2012-09-26 05:41:29 [INFO] [CleanroomGenerator] Enabling CleanroomGenerator v1.0.0
2012-09-26 05:41:29 [INFO] [CleanroomGenerator] CleanroomGenerator v1.0.0 enabled
2012-09-26 05:41:29 [INFO] [BioMed] Enabling BioMed v0.5
2012-09-26 05:41:29 [INFO] [BioMed] biome data loaded
2012-09-26 05:41:29 [INFO] Preparing level "world"
2012-09-26 05:41:29 [INFO] Preparing start region for level 0 (Seed: 2063248968022804883)
2012-09-26 05:41:30 [INFO] [NoNewChunk] Enabling NoNewChunk v0.1
2012-09-26 05:41:30 [INFO] [WorldEdit] Enabling WorldEdit v5.4.2
2012-09-26 05:41:30 [INFO] WEPIF: Using the Bukkit Permissions API.
2012-09-26 05:41:30 [INFO] [Multiverse-Core] Enabling Multiverse-Core v2.4-b527
2012-09-26 05:41:30 [INFO] [Multiverse-Core] - Version 2.4-b527 (API v14) Enabled - By Rigby, fernferret, lithium3141 and main--
2012-09-26 05:41:30 [INFO] [AllPay] - Version 10.0 - hooked into Essentials Economy for Multiverse-Core v2.4-b527
2012-09-26 05:41:30 [INFO] [Multiverse-Core] Loading World & Settings - 'world' - Env: NORMAL - Type: NORMAL & seed: 2063248968022804883 & generator: CleanroomGenerator
2012-09-26 05:41:30 [INFO] [Multiverse-Core] Loading World & Settings - 'gcw2' - Env: NORMAL - Type: NORMAL & seed: 2374929951236242263
2012-09-26 05:41:30 [INFO] Preparing start region for level 1 (Seed: 2374929951236242263)
2012-09-26 05:41:30 [INFO] [Multiverse-Core] Loading World & Settings - 'gcw1' - Env: NORMAL - Type: NORMAL & seed: -7267030454894850468
2012-09-26 05:41:30 [INFO] Preparing start region for level 2 (Seed: -7267030454894850468)
2012-09-26 05:41:31 [INFO] [Multiverse-Core] 3 - World(s) loaded.
2012-09-26 05:41:31 [INFO] [WorldGuard] Enabling WorldGuard v643-19be2bf
2012-09-26 05:41:31 [INFO] [WorldGuard] (world) TNT ignition is PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (world) Lighters are PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (world) Lava fire is blocked.
2012-09-26 05:41:31 [INFO] [WorldGuard] (world) Fire spread is UNRESTRICTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] Loaded configuration for world 'world'
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw2) TNT ignition is PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw2) Lighters are PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw2) Lava fire is blocked.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw2) Fire spread is UNRESTRICTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] Loaded configuration for world 'gcw2'
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw1) TNT ignition is PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw1) Lighters are PERMITTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw1) Lava fire is blocked.
2012-09-26 05:41:31 [INFO] [WorldGuard] (gcw1) Fire spread is UNRESTRICTED.
2012-09-26 05:41:31 [INFO] [WorldGuard] Loaded configuration for world 'gcw1'
2012-09-26 05:41:31 [INFO] [WorldGuard] 0 regions loaded for 'world'
2012-09-26 05:41:31 [INFO] [WorldGuard] 0 regions loaded for 'gcw2'
2012-09-26 05:41:31 [INFO] [WorldGuard] 0 regions loaded for 'gcw1'
2012-09-26 05:41:31 [INFO] [Essentials] Enabling Essentials v2.9.3
2012-09-26 05:41:31 [INFO] Essentials: Using config based permissions. Enable superperms in config.
2012-09-26 05:41:31 [INFO] [dynmap] Enabling dynmap v0.80-1315
2012-09-26 05:41:31 [INFO] [dynmap] Using Bukkit Permissions (superperms) for access control
2012-09-26 05:41:31 [INFO] [dynmap] Web interface permissions only available for online users
2012-09-26 05:41:32 [INFO] [dynmap] Loaded 20 shaders.
2012-09-26 05:41:32 [INFO] [dynmap] Loaded 82 perspectives.
2012-09-26 05:41:32 [INFO] [dynmap] Loaded 12 lightings.
2012-09-26 05:41:32 [INFO] [dynmap] Web server started on address 0.0.0.0:8123
2012-09-26 05:41:32 [INFO] [dynmap] version 0.80-1315 is enabled - core version 0.80-350
2012-09-26 05:41:32 [INFO] [dynmap] World 'world' disabled
2012-09-26 05:41:32 [SEVERE] [dynmap] HDMap 'surface' loading invalid lighting 'org.dynmap.hdmap.DefaultHDLighting@28c89b95' - using 'default' lighting
2012-09-26 05:41:32 [INFO] [dynmap] Loaded 2 maps of world 'gcw2'.
2012-09-26 05:41:32 [SEVERE] [dynmap] HDMap 'surface' loading invalid lighting 'org.dynmap.hdmap.DefaultHDLighting@28c89b95' - using 'default' lighting
2012-09-26 05:41:32 [INFO] [dynmap] Loaded 2 maps of world 'gcw1'.
2012-09-26 05:41:32 [INFO] [dynmap] Enabled
2012-09-26 05:41:32 [INFO] [WorldBorder] Enabling WorldBorder v1.5.4
2012-09-26 05:41:32 [INFO] [WorldBorder] [CONFIG] Using square border, knockback of 3.0 blocks, and timer delay of 5.
2012-09-26 05:41:32 [INFO] [WorldBorder] [CONFIG] Border-checking timed task started.
2012-09-26 05:41:32 [INFO] [WorldBorder] [CONFIG] World "world" has border radius 16 at X: 0.0 Z: 0.0
2012-09-26 05:41:32 [INFO] [WorldBorder] [CONFIG] World "gcw2" has border radius 1000 at X: 320.5 Z: 175.5 (shape override: round)
2012-09-26 05:41:32 [INFO] [WorldBorder] [CONFIG] Successfully hooked into DynMap for the ability to display borders.
2012-09-26 05:41:32 [INFO] For reference, the main world's spawn location is at X: 0.0 Y: 65.0 Z: 0.0
2012-09-26 05:41:32 [INFO] Server permissions file permissions.yml is empty, ignoring it
2012-09-26 05:41:33 [INFO] Done (3.411s)! For help, type "help" or "?"
2012-09-26 05:41:33 [INFO] [Metrics] Connection reset
2012-09-26 05:41:33 [INFO] [Metrics] Connection reset
2012-09-26 05:41:35 [INFO] ElectroBot[/127.0.0.1:52301] logged in with entity id 18 at ([gcw2] 320.5, 67.0, 175.5)
2012-09-26 05:41:45 [INFO] CONSOLE: Opped electrobot[m
2012-09-26 05:42:24 [INFO] [PLAYER_COMMAND] ElectroBot: /fly
2012-09-26 05:44:30 [INFO] [PLAYER_COMMAND] ElectroBot: /gc
2012-09-26 05:44:51 [INFO] Placed stronghold in INVALID biome at (20, -69)
2012-09-26 05:44:51 [INFO] Placed stronghold in INVALID biome at (-59, 15)
2012-09-26 05:47:36 [INFO] [PLAYER_COMMAND] ElectroBot: /gamemode 1
2012-09-26 05:48:51 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?
2012-09-26 05:49:47 [WARNING] ElectroBot moved too quickly! 0.04940441002781881,23.74267875425734,0.2858092326227961 (0.04940441002781881, 23.74267875425734, 0.2858092326227961)
2012-09-26 05:49:47 [WARNING] ElectroBot moved too quickly! 0.0,16.342665261839358,0.0 (0.0, 16.342665261839358, 0.0)
2012-09-26 05:49:48 [WARNING] ElectroBot moved too quickly! 0.0,19.18989072926689,0.0 (0.0, 19.18989072926689, 0.0)
2012-09-26 05:50:09 [SEVERE] Could not pass event BlockFromToEvent to WorldGuard
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.BlockFlowing.b(BlockFlowing.java:145)
at net.minecraft.server.WorldServer.g(WorldServer.java:369)
at net.minecraft.server.WorldServer.doTick(WorldServer.java:170)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:558)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.NullPointerException
at me.karlmarx.biomed.BioMedUtils.setBiomes(BioMedUtils.java:78)
at me.karlmarx.biomed.GlobalBlockPopulator.populate(GlobalBlockPopulator.java:25)
at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:205)
at net.minecraft.server.Chunk.a(Chunk.java:788)
at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:105)
at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:69)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:145)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:153)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:149)
at org.bukkit.event.block.BlockFromToEvent.getToBlock(BlockFromToEvent.java:49)
at com.sk89q.worldguard.bukkit.WorldGuardBlockListener.onBlockFromTo(WorldGuardBlockListener.java:181)
at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330)
... 11 more>>
<</code>>
Using version 0.1 which actually did stop chunk generation upon world reload:
<<code 2012-09-26 06:12:55 [INFO] Starting minecraft server version 1.3.1
2012-09-26 06:12:55 [INFO] Loading properties
2012-09-26 06:12:55 [INFO] Default game type: CREATIVE
2012-09-26 06:12:55 [INFO] Generating keypair
2012-09-26 06:12:55 [INFO] Starting Minecraft server on *:25565
2012-09-26 06:12:55 [INFO] This server is running CraftBukkit version git-Bukkit-1.3.1-R2.0-b2340jnks (MC: 1.3.1) (Implementing API version 1.3.1-R2.0)
2012-09-26 06:12:55 [INFO] [NoNewChunk] Loading NoNewChunk v0.1
2012-09-26 06:12:55 [INFO] [WorldEdit] Loading WorldEdit v5.4.2
2012-09-26 06:12:55 [INFO] [Multiverse-Core] Loading Multiverse-Core v2.4-b527
2012-09-26 06:12:55 [INFO] [WorldGuard] Loading WorldGuard v643-19be2bf
2012-09-26 06:12:55 [INFO] [CleanroomGenerator] Loading CleanroomGenerator v1.0.0
2012-09-26 06:12:55 [INFO] [Essentials] Loading Essentials v2.9.3
2012-09-26 06:12:55 [INFO] [dynmap] Loading dynmap v0.80-1315
2012-09-26 06:12:55 [INFO] [BioMed] Loading BioMed v0.5
2012-09-26 06:12:55 [INFO] [CleanroomGenerator] Enabling CleanroomGenerator v1.0.0
2012-09-26 06:12:55 [INFO] [CleanroomGenerator] CleanroomGenerator v1.0.0 enabled
2012-09-26 06:12:55 [INFO] [BioMed] Enabling BioMed v0.5
2012-09-26 06:12:55 [INFO] [BioMed] biome data loaded
2012-09-26 06:12:55 [INFO] Preparing level "world"
2012-09-26 06:12:55 [INFO] Preparing start region for level 0 (Seed: 2063248968022804883)
2012-09-26 06:12:56 [INFO] [NoNewChunk] Enabling NoNewChunk v0.1
2012-09-26 06:12:56 [INFO] [WorldEdit] Enabling WorldEdit v5.4.2
2012-09-26 06:12:56 [INFO] WEPIF: Using the Bukkit Permissions API.
2012-09-26 06:12:56 [INFO] [Multiverse-Core] Enabling Multiverse-Core v2.4-b527
2012-09-26 06:12:56 [INFO] [Multiverse-Core] - Version 2.4-b527 (API v14) Enabled - By Rigby, fernferret, lithium3141 and main--
2012-09-26 06:12:56 [INFO] [AllPay] - Version 10.0 - hooked into Essentials Economy for Multiverse-Core v2.4-b527
2012-09-26 06:12:56 [INFO] [Multiverse-Core] Loading World & Settings - 'world' - Env: NORMAL - Type: NORMAL & seed: 2063248968022804883 & generator: CleanroomGenerator
2012-09-26 06:12:56 [INFO] [Multiverse-Core] Loading World & Settings - 'gcw2' - Env: NORMAL - Type: NORMAL & seed: 2374929951236242263
2012-09-26 06:12:56 [INFO] Preparing start region for level 1 (Seed: 2374929951236242263)
2012-09-26 06:12:57 [INFO] [Multiverse-Core] Loading World & Settings - 'gcw1' - Env: NORMAL - Type: NORMAL & seed: -7267030454894850468
2012-09-26 06:12:57 [INFO] Preparing start region for level 2 (Seed: -7267030454894850468)
2012-09-26 06:12:57 [INFO] [Multiverse-Core] 3 - World(s) loaded.
2012-09-26 06:12:57 [INFO] [WorldGuard] Enabling WorldGuard v643-19be2bf
2012-09-26 06:12:57 [INFO] [WorldGuard] (world) TNT ignition is PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (world) Lighters are PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (world) Lava fire is blocked.
2012-09-26 06:12:57 [INFO] [WorldGuard] (world) Fire spread is UNRESTRICTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] Loaded configuration for world 'world'
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw2) TNT ignition is PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw2) Lighters are PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw2) Lava fire is blocked.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw2) Fire spread is UNRESTRICTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] Loaded configuration for world 'gcw2'
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw1) TNT ignition is PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw1) Lighters are PERMITTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw1) Lava fire is blocked.
2012-09-26 06:12:57 [INFO] [WorldGuard] (gcw1) Fire spread is UNRESTRICTED.
2012-09-26 06:12:57 [INFO] [WorldGuard] Loaded configuration for world 'gcw1'
2012-09-26 06:12:57 [INFO] [WorldGuard] 0 regions loaded for 'world'
2012-09-26 06:12:57 [INFO] [WorldGuard] 0 regions loaded for 'gcw2'
2012-09-26 06:12:57 [INFO] [WorldGuard] 0 regions loaded for 'gcw1'
2012-09-26 06:12:57 [INFO] [Essentials] Enabling Essentials v2.9.3
2012-09-26 06:12:57 [INFO] Essentials: Using config based permissions. Enable superperms in config.
2012-09-26 06:12:57 [INFO] [dynmap] Enabling dynmap v0.80-1315
2012-09-26 06:12:57 [INFO] [dynmap] Using Bukkit Permissions (superperms) for access control
2012-09-26 06:12:57 [INFO] [dynmap] Web interface permissions only available for online users
2012-09-26 06:12:58 [INFO] [dynmap] Loaded 20 shaders.
2012-09-26 06:12:58 [INFO] [dynmap] Loaded 82 perspectives.
2012-09-26 06:12:58 [INFO] [dynmap] Loaded 12 lightings.
2012-09-26 06:12:59 [INFO] [dynmap] Web server started on address 0.0.0.0:8123
2012-09-26 06:12:59 [INFO] [dynmap] version 0.80-1315 is enabled - core version 0.80-350
2012-09-26 06:12:59 [INFO] [dynmap] World 'world' disabled
2012-09-26 06:12:59 [SEVERE] [dynmap] HDMap 'surface' loading invalid lighting 'org.dynmap.hdmap.DefaultHDLighting@2678e7b9' - using 'default' lighting
2012-09-26 06:12:59 [INFO] [dynmap] Loaded 2 maps of world 'gcw2'.
2012-09-26 06:12:59 [SEVERE] [dynmap] HDMap 'surface' loading invalid lighting 'org.dynmap.hdmap.DefaultHDLighting@2678e7b9' - using 'default' lighting
2012-09-26 06:12:59 [INFO] [dynmap] Loaded 2 maps of world 'gcw1'.
2012-09-26 06:12:59 [INFO] [dynmap] Enabled
2012-09-26 06:12:59 [INFO] Server permissions file permissions.yml is empty, ignoring it
2012-09-26 06:12:59 [INFO] Done (3.419s)! For help, type "help" or "?"
2012-09-26 06:12:59 [INFO] [Metrics] Connection reset
2012-09-26 06:12:59 [INFO] [Metrics] Connection reset
2012-09-26 06:13:02 [INFO] ElectroBot[/127.0.0.1:55486] logged in with entity id 18 at ([gcw1] -2184.2418348514457, 69.6358830142148, 3492.054478646197)
2012-09-26 06:13:02 [INFO] Placed stronghold in INVALID biome at (20, -69)
2012-09-26 06:13:02 [INFO] Placed stronghold in INVALID biome at (-59, 15)
2012-09-26 06:13:05 [INFO] [PLAYER_COMMAND] ElectroBot: /gamemode 1
2012-09-26 06:13:20 [INFO] [PLAYER_COMMAND] ElectroBot: /tppos -1800 100 3400
2012-09-26 06:14:13 [SEVERE] Could not pass event BlockFromToEvent to WorldGuard
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.BlockFlowing.b(BlockFlowing.java:145)
at net.minecraft.server.WorldServer.g(WorldServer.java:369)
at net.minecraft.server.WorldServer.doTick(WorldServer.java:170)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:558)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.NullPointerException
at org.bukkit.event.world.ChunkEvent.<init>(ChunkEvent.java:12)
at org.bukkit.event.world.ChunkPopulateEvent.<init>(ChunkPopulateEvent.java:16)
at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:209)
at net.minecraft.server.Chunk.a(Chunk.java:788)
at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:105)
at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:69)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:145)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:153)
at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:149)
at org.bukkit.event.block.BlockFromToEvent.getToBlock(BlockFromToEvent.java:49)
at com.sk89q.worldguard.bukkit.WorldGuardBlockListener.onBlockFromTo(WorldGuardBlockListener.java:181)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330)
... 11 more>>
<</code>>
I also noticed that the version number is still v0.1 in the console log even with version v0.2.
Thanks
Version 0.2 is out. Waiting for approval.
I added some commands so now it is inactive by default. You can choose on which world you want it to be active (ie : /nnc enable myworld_nether).
I don't plan to add a border feature because...well..just use the WorldBorder plugin, it should be compatible.
hey this is awesome. can you also make it so that OPs or certain players can expand chunks while others cant?
I would like to see some control over what world this is active in, because there are many already generated worlds, that do not need to be expanded further, while others that do.
If the blocks technically do not even load in memory, then this is the next WorldBorder.
Eh, in my opinion, WorldBorder should just do something like this, or at least prevent the player from falling into the void though, some people think they're missing chunks!
Seems even better than a worldborder, can this have options for per world settings???
Is there a way to make chunks from coords for example... 1000x1000to -1000x-1000 spawn?
Source code uploaded into repository.
Nice Project! - Create a GitHub Page!
Give the source code!
Ty
@gabripj
The file has been approved. Check it out.
This is greate to make a world border, without move event!
Do this please!