> For the complete documentation index, see [llms.txt](https://septogeddon.gitbook.io/fancywaystones/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://septogeddon.gitbook.io/fancywaystones/fancy-waystones/admins-guide.md).

# Admins Guide

## Prerequisites

In order to be considered as admins, the player needs to be an operator or have the `fancywaystones.admin` permission.

## Waystone Management

### General Command Information

* `/fw`: FancyWaystone command
  * `removeRecipe`: Remove plugin custom recipe
    * `<id>`: The recipe id
  * `tp`: Teleport to a waystone
    * `target:[player]`: The player that will be teleported to the waystone, if this is not specified, it will teleport the command executor instead
    * `id:[id]`: The waystone target identifier
    * `world:[world]`: The world where the waystone is located
    * `name:[name]`: The waystone name
    * `method:[random|nearest|farthest]`: Select waystone based on the specified method if there are more than 1 waystone
    * `radius:[radius]`: The radius from the command executor to the target waystone
    * `type:[type]`: The waystone type
    * `model:[model]`: The waystone model
    * `owned`: Only select command executor's owned waystone
    * `owner:[ownerUUID|ownerName]`: Select based by the owner UUID or owner name
  * `breakWaystone`: Break one or many waystone
    * `target:[player]`: The player that will be teleported to the waystone, if this is not specified, it will teleport the command executor instead
    * `id:[id]`: The waystone target identifier
    * `world:[world]`: The world where the waystone is located
    * `name:[name]`: The waystone name
    * `method:[random|nearest|farthest]`: Select waystone based on the specified method if there are more than 1 waystone
    * `radius:[radius|infinity]`: The radius from the command executor to the target waystone
    * `type:[type]`: The waystone type
    * `model:[model]`: The waystone model
    * `owned`: Only select command executor's owned waystone
    * `owner:[ownerUUID|ownerName]`: Select based by the owner UUID or owner name
    * `feedback`: Send feedback message whether the command successfully executed or not
  * `placeWaystone`: Place a waystone in a specified coordinate
    * `<type>`: The waystone type
    * `<model>`: The waystone model
    * `<world>`: The world name
    * `<x>`: The x coordinate
    * `<y>`: The y coordinate
    * `<z>`: The z coordinate
  * `giveWarpstone`: Give warpstone to a player
    * `<warpstoneId>`: The warpstone identifier
    * `[player]`: The player target
    * `[amount=1]`: Item amount to be given
  * `open`: Open waystone menu as other player
    * `<player>`: The player you want to open their waystone
  * `editRecipe`: Edit a recipe in-game
    * `<recipeId>`: The existing recipe ID
  * `createRecipe`: Create a recipe in-game
    * `<recipeId>`: The new recipe ID
  * `setIdentifier`: Set an identifier to the waystone you are looking at, which later you can use it to teleport or break the waystone
    * `<newId>`: The new waystone id
  * `getIdentifier`: Get the identifier of the waystone you're looking at
  * `wand`: Get a wand that can be used to create a structure
  * `pos1`: Set the first position, used to create a structure
  * `pos2`: Set the second position, used to create a structure
  * `testStructure`: Place a structure in your location, cannot be undone
  * `saveStructure`: Create a structure based on your region selection
  * `listStructure`: List all available structures
  * `reload`: Reload plugin configuration
  * `reloadWaystone`: Reload the whole plugin (including configuration and database)
  * `importofflineplayers`: Import offline players from Bukkit offline players storage, may take a long time
  * `giveBook`: Give a book to a player
    * `<bookType>`: The book type
    * `[player]`: The target player
    * `[amount=1]`: The amount
  * `give`: Give a waystone item to a player
    * `<type>`: The waystone type
    * `<model>`: The waystone model
    * `[player]`: The target player
    * `[amount=1]`: The amount

{% hint style="info" %}
`<>` is required to execute the command

`[]` is optional, you can leave it empty

`flag:[flag]` is optional flag, you can ignore the flag or use it to specify a flag
{% endhint %}

### Giving Waystone to Players

You can use the command `/fw give <playerName> <type> <model> [amount=1]`.

By default, there are 4 waystone types, pass the waystone type id (`public`, `private`, `server`, `linked`) to the command parameter/argument to use it. The waystone type id is the waystone type config file name. For example, if the file name is `mywaystonetype.yml` then the waystone id is `mywaystonetype`. These files can be found under `/plugins/FancyWaystones/waystone_types/`.

There are 3 models available by default (`bedrock`, `modern`, `regular`). Same as waystone type, the model id is the model config file name.

* **bedrock.yml**\
  You must use this model if you want to support both java and bedrock players
* **modern.yml**\
  If you are using 1.19.4 or higher, consider using this one instead. It uses display entities which is way better and more customizable than using armorstands.&#x20;
* **regular.yml**\
  This is the legacy model for older versions where it only uses armorstands. Don't worry, its client-side, so it won't affect your server gameplay.

{% hint style="info" %}
The waystone default recipes use modern model. Modern model uses display entities, which only available at 1.19.4 or higher. If you are using older versions, downgrade to regular model, see how to do this below.
{% endhint %}

### Recipes

Recipe configuration files can be found under `/plugins/FancyWaystones/recipes`.

This is what the configuration looks like:

```yaml
Result:
  type: WAYSTONE
  meta:
    model: 'modern'
    id: 'private'
Shape:
  - "XYX"
  - "BAB"
  - "ZZZ"
Auto Give:
  On Join: false
  First Join Only: false
  On Pickup Ingredient: true
Materials:
  X:
    type: SMOOTH_STONE_SLAB
  Y:
    type: POLISHED_ANDESITE
  Z:
    type: ENDER_CHEST
  A:
    type: EMERALD_BLOCK
  B:
    type: NAME_TAG
```

The plugin has in-game recipe editor which you can access by using command `/fw createRecipe <recipeId>`, `/fw editRecipe <recipeId>`, `/fw removeRecipe <recipeId>`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://septogeddon.gitbook.io/fancywaystones/fancy-waystones/admins-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
