Big Bg Bug Fixes
Hello everyone!
This update is mostly bug fixing, but also one small new change, and a bit of cleanup.
So, first, the new change:
- Teleport Tracking!
- - You will see a new option in the config called track-all-teleports. It is true by default. Previously, the location used by /ut would only save when /ut or /us was executed. With this enabled, it will save when anything else causes the teleport whether it be a command block or /tp.
- Previous locations now include pitch and yaw!
- - The location tracker will now remember where you were looking.
Now, for the bug fixes:
- teleporting to worlds with /us or /ut will no longer send you to the void. In the last update I thought I fixed this, but I had only fixed one of two bugs that could cause this. The remaining one would send you below the floor if you typed the world name with the wrong letter casing. World names are not case sensitive to the game, but in the Universes world-settings.yml they are. So if you were to type "hub" instead of "Hub" the game would find the world for you, but Universes wouldn't be able to find coordinates. Thus, you would be teleported to 0, 0, 0.
- end world generation. The world settings were incorrectly generated for end worlds created automatically with Universe-Ends. In the files they were set with the type as nether. Upon restarting the server, this would change them to nether worlds. The names were also set incorrectly in the settings. However, the name line is unused. This update will prevent this from happening in the future. To fix any worlds currently like this, change the type in the settings and restart, or unload the world and reimport it.
- invisible entities after respawn. So, this was a small bug that was brought to my attention. The respawn teleportation sequence ran a few ticks too fast, confusing the server as a result packets related to mobs would not be sent to the client rendering mobs invisible and untouchable. The delay before the respawn teleport kicks in when the use of respawnWorlds is enabled has been increased just enough to prevent this. There won't seem like much of a change at all when the teleportation happens though.
- xp issues. There were a lot of bugs and glitches related to per world stats and xp during the respawn process. The code there was a big mess and honestly still sorta is. The respawn event and death event handlers contained a lot of old, bad code. All those issues, to my knowledge have been fixed. I rewrote a large portion of the respawn event handler (again) to make sure xp was saving and setting correctly on respawn, and the death event handler is gone as it was pointless. These glitches were mostly caused when bed spawn points were in use.
- bed spawns/spawnpoint no longer overriden. Previously, when the use of respawnWorlds was enabled no matter what you would be teleported to the indicated world's spawn. Now, if your bed spawn or spawnpoint is set in the world you died in, and the world you are in is the respawn world for itself, you are sent to your bed spawn or spawnpoint instead of the world spawn. For example, if I'm in SurvivalWorld, and SurvivalWorld's respawnWorld is SurvivalWorld, and I have a bed spawn set in SurvivalWorld, if I die, I go to my bed.
And that's it. I am not aware of any other bugs and I haven't come across any more in my own usage, so if I've missed something, do let me know.