Posted March 16, 20169 yr Hi, all. I tried searching but didn't see an answer to my question. I have created a PlayerSleepInBedEvent handler that teleports the player elsewhere in the overworld. Here's a gist: https://gist.github.com/echosa/355cb0dd913eecbffd9b#file-sleepportaleventhandler-java The problem is that the player teleports there before the chunk renders. This results in the player falling until the render is complete. Sometimes the player is then placed back on the top ground, but my main problem is that sometimes the player is *not* placed back on top. When that happens, the player ends up in the ground and suffocates to death unless they have a pickaxe and can get themselves out. I'm not sure why sometimes they end up on top and sometimes they end up in the ground. At first I was only loading the chunk, but then I realized I needed to render the chunk, so I added this line, which has *not* fixed the issue: https://gist.github.com/echosa/355cb0dd913eecbffd9b#file-sleepportaleventhandler-java-L39 I'm very new to modding and the Forge API, so I feel like I'm just missing something obvious. I hope so, anyway. I really want to get this working. (Unless I can find a customizable teleport API mod that allows usage in modpacks that I can use instead of custom code.) Other potentially important info: Minecraft version: 1.7.10 Forge version: 10.13.3.1388
March 17, 20169 yr Author I reached out on IRC last night, and got some other, unrelated pointers for my code, which I've now cleaned up: https://gist.github.com/echosa/355cb0dd913eecbffd9b However, I'm still having the same original issue where players "teleport" to the correct coordinates, but immediately start falling because the terrain hasn't rendered (you can see the Y value dropping in the F3 debug info). Then, and this is the real problem, one of two things happens after the terrain does render: 1.) The player is put back on the surface at the original Y coordinate the player was "teleported" to (this is good), or 2.) The player is *not* put back on the surface, and thus the terrain generates around the player, suffocating them (this is bad). I don't understand why sometimes #1 happens and sometimes #2 happens, nor do I understand why #2 happens at all.
March 18, 20169 yr In case 2: is the coordinates that the player is teleported to the same as where the player ends up at (albeit underground)? Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
March 18, 20169 yr Author Yes, the x and z coordinates where the player ends up are the same as the coordinates to which the player was teleported. The only thing that changes between case 1 and case 2 is the Y value where the player ends up.
March 18, 20169 yr The only thing that changes between case 1 and case 2 is the Y value where the player ends up. This is what I was asking: I wanted to check to see if the Y value was lower than the teleport's destination coordinates. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
March 18, 20169 yr Author Yes, sorry. If I keep the F3 debug info up, then when I teleport I see the Y value going down. When the player ends up suffocating in the ground, the Y value is, indeed, less than the original Y value of the teleport point.
March 19, 20169 yr The falling, by the way, is just client side prediction: it sees only air in the chunk and applies gravity. The server thread (when it generates the chunk) should reset the player. I see this all the time with Mystcraft (I've fallen as far down as -60). I don't know what's going on here. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
March 19, 20169 yr Author Hm. That's unfortunate. :-( I'd really like to figure this out. Thanks for trying, though! I appreciate it.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.