Описание
PlayerCoordsAPI
A lightweight Fabric mod that exposes your Minecraft player coordinates via a local HTTP API.
[](https://modrinth.com/mod/playercoordsapi)
[](https://modrinth.com/mod/playercoordsapi)
## 📋 Overview
PlayerCoordsAPI provides real-time access to your Minecraft player coordinates through a simple HTTP endpoint. This enables external applications to track your position without needing to read Minecraft's memory or capture the screen.
## ✨ Features
- Lightweight HTTP server running only on localhost providing your coordinates
- Client-side only - no server-side components needed
- Works in singleplayer and multiplayer
- Mod menu integration allowing you to enable/disable the API, change its port, and configure requests with or without an `Origin` header
## 🚀 Installation
1. Install [Fabric Loader](https://fabricmc.net/use/) for a supported Minecraft version
2. Download the latest `playercoordsapi-x.x.x+mcx.x.x.jar` from the [releases page](https://github.com/Sukikui/PlayerCoordsAPI/releases)
3. Place the jar in your `.minecraft/mods` folder
4. Launch Minecraft with the Fabric profile
## ⚙️ Configuration
The API is read-only and only accepts loopback connections such as `127.0.0.1` and `::1`.
From Mod Menu, you can configure:
- Whether the API is enabled
- Which port it listens on (default: `25565`)
- How requests without a CORS `Origin` header are handled
- How requests with a CORS `Origin` header are handled
Requests with an `Origin` can be handled in three different modes:
- `Allow all`
- `Local origins`
- `Whitelist`
In `Whitelist` mode, you can configure each allowed origin with a scheme, host/IP, and optional port.
## 🔌 API Usage
| Endpoint | Method | Description |
|---------------|-----------------|----------------------------------------------------------|
| `/api/coords` | `GET`, `OPTIONS` | Returns the player's current coordinates and world infos |
### Response Fields
| Field | Type | Description |
|------------|----------|-------------------|
| `x` | `number` | East-West |
| `y` | `number` | Height |
| `z` | `number` | North-South |
| `yaw` | `number` | Horizontal rotation (degrees) |
| `pitch` | `number` | Vertical rotation (degrees) |
| `world` | `string` | Minecraft world registry ID |
| `biome` | `string` | Minecraft biome registry ID |
| `uuid` | `string` | Player UUID |
| `username` | `string` | Player username |
### Error Responses
| Status | Message |
|--------|---------------------|
| `403` | Access denied / Origin not allowed |
| `404` | Player not in world |
| `405` | Method not allowed |
### Response Format Example
```json
{
"x": 123.45,
"y": 64.00,
"z": -789.12,
"yaw": 180.00,
"pitch": 12.50,
"world": "minecraft:overworld",
"biome": "minecraft:plains",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"username": "PlayerName"
}
```
## 🛠️ Examples
Replace `25565` with your configured port if you changed it in the Mod Menu.
### cURL
```bash
curl http://localhost:25565/api/coords
```
### Python
```python
import requests
response = requests.get("http://localhost:25565/api/coords")
data = response.json()
print(f"Player {data['username']} (UUID: {data['uuid']}) at X: {data['x']}, Y: {data['y']}, Z: {data['z']}")
```
### JavaScript
```javascript
fetch("http://localhost:25565/api/coords")
.then(response => response.json())
.then(data => console.log(`Player ${data.username} (UUID: ${data.uuid}) at X: ${data.x}, Y: ${data.y}, Z: ${data.z}`));
```
---
Crafted by
Sukikui