Um eine "globale Position" in eine Chunk- und Block-Position umzuwandeln (also Vector3f in zwei Vector3i), kannst du die statischen ChunkUtils Funktionen verwenden
Bspw. mit der ChunkUtils.getChunkAndBlockPosition() Funktion, bei welcher du allerdings zwei Vector3i mit übergeben musst (in welchen dann die Chunk und Block Position gespeichert wird), zB:
Davon gibt es in der ChunkUtils-Klasse auch einzelne Funktionen, um die jeweiligen X, Y und Z Koordinaten zu erhalten (ohne den Overhead neuer Vector3i Objekte).
Wenn du den exakten Punkt ermitteln möchtest, den der Spieler aktuell anschaut, bzw. genau genommen der Punkt, in welchem die Sichtlinie des Spielers mit dem Terrain kollidiert, könntest du die raycast() Funktion des Spielers verwenden. Als Resultat erhälst du ein RayCastResult, wie @noci erwähnt hat, oder "nichts", falls momentan kein Terrain angeschaut wird. Die Dokumentation enthält dazu ein paar Beispiel-Codezeilen ![]()