> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/pinnaprison/core/private-mines.md).

# Private Mines

Every player gets their own **private mine**. Mines are **fully packet-based**: the mine world is an empty void on the server, and the blocks a player sees are sent as chunk packets. This means **thousands of mines can run at the same time with no block lag**, and one player mining never affects another.

Behaviour is configured in `privatemines/config.yml`. The mine **types** (size, blocks, decorations) are configured per-file in `privatemines/mines/` — see [Schematics & Mine Setup](/p/pinnaprison/core/schematics.md).

## `privatemines/config.yml`

```yaml
percent-mined-to-reset: 40
send-extra-packets-on-invalid-blocks: true

on-schematic-change:
  send-only-mine-chunks: false
  teleport-spawn: true
  keep-expansion: true

mine-gaps:
  x: 1
  y: 2
  z: 1

default-mine: 'default'
max-members: 7

tax-currency:
  - 'money'
  - 'tokens'
tax-max-rate: 25

mine-order:
  - 'default'
```

| Key                                         | Description                                                                                                                                    |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `percent-mined-to-reset`                    | The mine auto-resets (refills) once this **%** of its blocks have been mined. `40` = reset at 40%.                                             |
| `send-extra-packets-on-invalid-blocks`      | When `true`, mining a non-mineable block (the shell/decoration) re-sends it so it never disappears client-side. Recommended `true`.            |
| `on-schematic-change.send-only-mine-chunks` | When changing mine type, only push the mineable chunks. **Only** enable if all your schematics share the same build and merely expand in size. |
| `on-schematic-change.teleport-spawn`        | Teleport the player to the mine spawn when their mine type changes.                                                                            |
| `on-schematic-change.keep-expansion`        | Keep the player's purchased expansion when their mine type changes.                                                                            |
| `mine-gaps`                                 | Spacing (in mine-grid units) between adjacent mines in the world.                                                                              |
| `default-mine`                              | The mine **type** id (a file in `privatemines/mines/`) new players start with.                                                                 |
| `max-members`                               | Maximum members a mine can have, and max visitors inside at once (owner excluded).                                                             |
| `tax-currency`                              | The currencies an owner may tax from visitors' autosell earnings.                                                                              |
| `tax-max-rate`                              | The maximum tax **%** an owner can set.                                                                                                        |
| `mine-order`                                | The progression order of mine types, used when a player upgrades to the "next" mine.                                                           |

## The mine menu — `/mine`

Running `/mine` (alias `/mines`) opens the mine menu (`guis/mine.yml`). From there players manage members, lock state, tax and resets.

| Command                   | Description                                                              |
| ------------------------- | ------------------------------------------------------------------------ |
| `/mine`                   | Open your mine menu.                                                     |
| `/mine go [player]`       | Teleport to your mine, or to another player's mine if you're allowed in. |
| `/mine invite <player>`   | Invite a player so they can visit your mine.                             |
| `/mine uninvite <player>` | Revoke an invite.                                                        |
| `/mine ban <player>`      | Ban a player from your mine.                                             |
| `/mine unban <player>`    | Unban a player.                                                          |
| `/mine members`           | Open the members menu (`guis/mine-members.yml`).                         |
| `/mine tax <percent>`     | Set your visitor tax rate (0 – `tax-max-rate`).                          |
| `/mine open`              | Open your mine to visitors.                                              |
| `/mine lock`              | Lock your mine (members only).                                           |
| `/mine public`            | Open the public mines browser (`guis/public-mines.yml`).                 |
| `/mine reset`             | Manually reset (refill) your mine.                                       |

{% hint style="success" %}
`/mine go` is optimised: if you're **already** standing in your own mine it simply teleports you to spawn instead of reloading the whole mine.
{% endhint %}

## Visitors & tax

* **Visitors** can mine in a mine they're invited to (or that is set public/open). The number of simultaneous visitors is capped by `max-members`.
* **Tax** lets the **owner** take a cut of the currencies (`tax-currency`) that visitors earn from autosell while mining in their mine. The cut only applies while the **owner is online**, and the owner sets their own rate with `/mine tax` or the mine menu.

## Expansions

Players can expand their mine (a larger mineable area) up to the `max-expansion` defined on their current mine type. Expansion is normally sold through a menu/command on your server, or granted by an admin (`/adminmine expand`).

## Resetting

A mine refills automatically when `percent-mined-to-reset` of its blocks are gone, and can be reset manually with `/mine reset`. Resets are instant and lag-free because the blocks are packet-only.

## Admin control — `/adminmine`

See the [Commands](/p/pinnaprison/reference/commands.md) reference for the full `/adminmine` (alias `/amine`) toolset: visit, expand, shrink, reset, upgrade and set a player's mine type.


---

# 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://edseries-plugins.gitbook.io/p/pinnaprison/core/private-mines.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.
