So since fixing chunk errors is currently impossible for the most part, I was thinking, someone should make a work around that, when you type in a command, simply reloads the area you're in by virtue of taking you elsewhere and then taking you right back to where you were. This would prevent log in/log out spam, and would keep people from having to get back in through minecraft.net's terrible authentication servers.
Chunk errors are client side. It's characterized by someone seeing a giant hole in the world. --- merged: Feb 14, 2011 4:43 PM --- The idea is to 'fix' them by teleporting the client to another spot, and then back again, so they reload the world around them.
Can you test if it would work first? My computer has been funny lately with Minecraft. Just test by teleporting somewhere else then back.
I just listened to 'The Shaft' podcast and they said you can fix this by simply placing a torch down?
Yeah I tried that before and it doesn't seem to work. --- merged: Feb 14, 2011 4:56 PM --- I already know it works, I've done it. I set a warp at the place I'm at, go to spawn, and teleport back. Fixed.
What did work for me is you can eventually fix it by dumping water on the chunk, but it's tedious, it'll only fix it a few blocks at a time usually until you got most of the chunk covered in water and it's just a huge pain.
Feb 14, 2011 8:22:34 PM org.bukkit.plugin.SimplePluginManager loadPlugins SEVERE: Could not load plugins/Chunkfix.jar in plugins: null org.bukkit.plugin.InvalidPluginException at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:79) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:117) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:82) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:53) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:171) at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:158) at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:110) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209) at net.minecraft.server.ThreadServerApplication.run(SourceFile:512) Caused by: java.lang.ClassNotFoundException: com.bukkit.fullwall.Chunkfix.Chunkfix at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at java.lang.ClassLoader.loadClass(ClassLoader.java:264) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:73) ... 8 more (This is with 323.)
Alright, let me give it a shot. --- merged: Feb 15, 2011 12:54 PM --- Still doesn't seem to be working, it's throwing a LOT of these errors: Feb 15, 2011 2:43:46 AM org.bukkit.plugin.SimplePluginManager callEvent SEVERE: Could not pass event PLAYER_COMMAND to Chunkfix java.lang.NullPointerException at org.bukkit.plugin.java.JavaPluginLoader$5.execute(JavaPluginLoader.java:144) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214) at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:616) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:589) at net.minecraft.server.Packet3Chat.a(SourceFile:24) at net.minecraft.server.NetworkManager.a(SourceFile:232) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74) at net.minecraft.server.NetworkListenThread.a(SourceFile:104) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232) at net.minecraft.server.ThreadServerApplication.run(SourceFile:512) 2011-02-15 02:46:09 [INFO] [PLAYER_COMMAND] QQCucumber: /spawn Feb 15, 2011 2:46:34 AM org.bukkit.plugin.SimplePluginManager callEvent SEVERE: Could not pass event PLAYER_COMMAND to Chunkfix java.lang.NullPointerException at org.bukkit.plugin.java.JavaPluginLoader$5.execute(JavaPluginLoader.java:144) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214) at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:616) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:589) at net.minecraft.server.Packet3Chat.a(SourceFile:24) at net.minecraft.server.NetworkManager.a(SourceFile:232) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74) at net.minecraft.server.NetworkListenThread.a(SourceFile:104) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232) at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
Alright, it seems to be working now. The only problem is, if a chunk error occurs near spawn, you can't really fix it with this. Do you think you could add a configuration file to control which command is sent to teleport the player away and back? I could set up a bedrock box in the middle of the ocean somewhere. Or maybe even set up another world where the spawn area is covered in bedrock and have it teleport them there.
Redownload, added. Run it once, then open the location.txt file in plugins/chunkfix, and add the property Location=x,y,z (put your x,y,z in) - it is multiworld, but will still teleport to the same location values in each world (make sure they're safe in both worlds)
2011-02-15 23:57:43 [INFO] Chunky - couldn't create file. 2011-02-15 23:57:43 [INFO] Chunkfix - error reading file. 2011-02-15 23:57:43 [INFO] [Chunkfix]: version [1.0] (Chunky) loaded Creating it manually fixed it.
Or... we could just add a sendChunk(Player, x, z) function? Or one taking a Player and a radius in chunks. Would that work for people?
(I talked to Tahg on IRC.) Okay, well, I finally got a chance to test it, and it doesn't work. It still uses the spawn point for some reason.
One option for the spawn thing would be to always move the player at least 1000 blocks. You could have 2 spots. Once at 0,y,-1000 and one at 0,y,1000. The player would travel to whichever is further away. One of them is at least 1000 blocks away.
Try redownloading. location.txt (note lowercase l) should be in plugins/Chunkfix and should contain the property location=x,y,z (if not there, defaults to spawn)
Sorry it took me so long to respond to this, I had a lot of other stuff on my plate, including a dentist appointment. I tried out the new version and it's still not generating a new config file: 2011-02-17 18:59:05 [INFO] Chunkfix - couldn't create file. 2011-02-17 18:59:05 [INFO] Chunkfix - error reading file. 2011-02-17 18:59:05 [INFO] [Chunkfix]: version [1.0] (Chunky) loaded --- merged: Feb 17, 2011 4:04 PM --- Creating the file as you suggest basically produces the same thing as before, it doesn't seem to read, and it'll just send me to spawn each time. It loads just fine though and doesn't say there was an error reading file: 2011-02-17 19:02:22 [INFO] [Chunkfix]: version [1.0] (Chunky) loaded My location.txt file in plugins/Chunkfix reads: location=1835,69,-1060 (Yes, I made sure to match the lowercase/uppercase of everything as it should.) --- merged: Feb 19, 2011 5:33 PM --- Fullwall? It's been a while since your last response.