[REALLY GOOD IDEA] Fixing chunk errors with teleportation

Discussion in 'Archived: Plugin Requests' started by QQCucumber, Feb 14, 2011.

  1. Offline

    QQCucumber

    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.
     
  2. Offline

    fullwall

    Define chunk errors. Couldn't you just use reloadChunk()?
     
  3. Offline

    QQCucumber

    Chunk errors are client side. It's characterized by someone seeing a giant hole in the world. :p
    --- 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.
     
  4. Offline

    fullwall

    Can you test if it would work first? My computer has been funny lately with Minecraft. Just test by teleporting somewhere else then back.
     
  5. Offline

    xTom

    I just listened to 'The Shaft' podcast and they said you can fix this by simply placing a torch down?
     
  6. Offline

    QQCucumber

    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.
     
  7. Offline

    xTom

    Oh, sadface
     
  8. Offline

    QQCucumber

    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.
     
  9. Offline

    fullwall

  10. Offline

    QQCucumber

    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.)
     
  11. Offline

    fullwall

    Try it again. Wrong plugin.yml
     
  12. Offline

    QQCucumber

    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)
     
  13. Offline

    fullwall

    Try again.
     
  14. Offline

    QQCucumber

    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.
     
  15. Offline

    fullwall

    Of course - you have to wait till tomorrow though.
     
  16. Offline

    QQCucumber

    Fair enough. :)
     
  17. Offline

    fullwall

    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)
     
  18. Offline

    Windwaker

    Orrr...

    You could just disconnect and reconnect.

    Fixes it everytime.
     
  19. Offline

    fullwall

     
  20. Offline

    QQCucumber

    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.
     
  21. Offline

    Tahg

    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?
     
  22. Offline

    QQCucumber

    (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.
     
  23. Offline

    Raphfrk

    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.
     
  24. Offline

    fullwall

    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)
     
  25. Offline

    QQCucumber

    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.
     
  26. Offline

    c0mp

    FYI, shining the /flashlight on chunk errors fixes them immediately as well.
     
  27. Offline

    fullwall

    Sorry, I have been very busy :/. I'll have a crack (if I have time) at fixing this tonight.
     

Share This Page