Posted January 22, 20241 yr I am trying to detect if a player is about to walk off the edge. This is how I've come so far: public void onTick(TickEvent.PlayerTickEvent event) { Minecraft game = Minecraft.getInstance(); if (game.player == null) return; var playerBoundingBox = game.player.getBoundingBox(); //double edgeDistance = 0.001; //var adjustedBox = playerBoundingBox.move(0, -0.5, 0).deflate(edgeDistance, 0, edgeDistance); var playerMotion = game.player.getMotionDirection(); var adjustedBox = playerBoundingBox.move(playerMotion.getStepX(), playerMotion.getStepY(), playerMotion.getStepZ()); boolean isColliding = playerBoundingBox.intersects(adjustedBox); if (isColliding) return; //doStuff(); } As you can see, I tried two approaches using boxes. One is commented out. Both of them do not work. Thanks in advance for any answers! hey, im new
January 23, 20241 yr 21 hours ago, author said: Minecraft game = Minecraft.getInstance(); You should remove this to avoid reaching across logical sides. You can instead access the player via 'event.player'. As for your questions, I am not sure what you want to detect. But you can use the 'isOnGround()' method to check if an entity is currently on the ground or not.
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.