Описание
# SVWaypoint
SVWaypoint is a clean and modern waypoint mod that lets players and servers create persistent 3D waypoints rendered directly in the world.
Unlike older waypoint systems, SVWaypoint does **not** use Armor Stands. Instead, it uses a custom lightweight waypoint entity designed for better performance, cleaner rendering, and better multiplayer support.
It is perfect for event servers, minigames, survival servers, roleplay servers, stream projects, and custom resource-pack experiences.
---
## Features
* Custom lightweight waypoint entity.
* No Armor Stands.
* Persistent waypoints saved with world data.
* Multiplayer-ready server-side waypoint system.
* Clean 3D in-world rendering.
* Optional distance display.
* Optional unicode icon.
* Optional Minecraft item icon.
* Supports vanilla and modded items.
* Supports custom unicode fonts from resource packs.
* Public and private waypoints.
* Per-player waypoint ownership.
* Configurable text scale, icon scale, color, visibility, render distance, and item rotation.
* Closest-waypoint HUD.
* Keybind for quick temporary waypoints.
* Keybind for toggling the waypoint HUD.
---
## Rendering System
Each waypoint can display:
* A main name.
* Distance below the name.
* A unicode symbol.
* A real Minecraft item as an icon.
* A custom font using a `ResourceLocation`.
* Optional rotating item icons.
* Optional through-walls rendering.
Example:
```mcfunction
/svwaypoint create home Home
/svwaypoint edit home unicode \uE000
/svwaypoint edit home item minecraft:diamond
/svwaypoint edit home color #55FFAA
```
If an item icon is set, the unicode icon is cleared automatically. This keeps the waypoint clean and prevents both icons from rendering at the same time.
---
## Commands
### Create a waypoint at your current position
```mcfunction
/svwaypoint create
```
Creates a persistent waypoint at the player's current position.
Example:
```mcfunction
/svwaypoint create home Home
```
---
### Create a waypoint at exact coordinates
```mcfunction
/svwaypoint pos
```
Creates a persistent waypoint at a specific position.
Example:
```mcfunction
/svwaypoint pos spawn 0 80 0 Spawn
```
---
### Remove a waypoint
```mcfunction
/svwaypoint remove
```
Deletes a waypoint completely.
Example:
```mcfunction
/svwaypoint remove home
```
---
### List waypoints
```mcfunction
/svwaypoint list
```
Shows the waypoints visible to you.
---
### View waypoint info
```mcfunction
/svwaypoint info
```
Shows waypoint data such as name, position, item, unicode icon, color, font, visibility, and render options.
---
### Teleport to a waypoint
```mcfunction
/svwaypoint tp
```
Teleports you to the selected waypoint if you have permission.
Example:
```mcfunction
/svwaypoint tp home
```
---
### Edit a waypoint
```mcfunction
/svwaypoint edit
```
Available fields:
```txt
name
unicode
item
color
visible
distance
public
font
scale
unicode_scale
render_distance
background
through_walls
rotate_item
```
Examples:
```mcfunction
/svwaypoint edit home name Base
/svwaypoint edit home unicode \uE000
/svwaypoint edit home item minecraft:nether_star
/svwaypoint edit home color #FFAA00
/svwaypoint edit home visible true
/svwaypoint edit home distance true
/svwaypoint edit home public false
/svwaypoint edit home font minecraft:default
/svwaypoint edit home scale 1.2
/svwaypoint edit home unicode_scale 1.5
/svwaypoint edit home render_distance 256
/svwaypoint edit home background true
/svwaypoint edit home through_walls false
/svwaypoint edit home rotate_item true
```
---
### Temporary waypoint
```mcfunction
/svwaypoint temp
```
Creates a temporary waypoint where the player is looking.
---
### Reload waypoint data
```mcfunction
/svwaypoint reload
```
Reloads and refreshes waypoint data and runtime waypoint entities.
---
### Debug
```mcfunction
/svwaypoint debug
```
Shows saved waypoint count, active runtime entity count, and useful debug information.
---
## Keybinds
Default keybinds:
* **X** — Toggle closest-waypoint HUD.
* **Z** — Create a temporary raycast waypoint.
Keybinds can be changed from the Minecraft Controls menu.
---
## Server Config
The server config is generated at:
```txt
config/svwaypoint-server.toml
```
Configurable options include:
* Temporary waypoint duration.
* Default render distance.
* Default text scale.
* Default icon scale.
* Default waypoint color.
* Default waypoint font.
* Show distance by default.
* Through-walls rendering.
* Text background.
* Item icon animation.
* Maximum waypoint limit.
* Command permissions.
* Teleport permissions.
* Debug mode.
---
## Resource Pack Unicode Support
SVWaypoint supports custom unicode characters from resource packs.
Example:
```mcfunction
/svwaypoint edit home unicode \uE000
/svwaypoint edit home font svwaypoint:waypoint_icons
```
This allows servers to use custom icons, symbols, and textures through Minecraft font providers.
If a custom font is missing or unavailable, the renderer safely falls back to:
```txt
minecraft:default
```
---
## Item Icon Support
SVWaypoint can render real Minecraft items as waypoint icons.
Examples:
```mcfunction
/svwaypoint edit home item minecraft:diamond
/svwaypoint edit home item minecraft:compass
/svwaypoint edit home item minecraft:nether_star
```
Modded items are also supported as long as the item exists on both the server and the client.
Example:
```mcfunction
/svwaypoint edit boss item some_mod:custom_sword
```
---