Docs

Creating a private mine type

A private mine type is a structure you build once on the server and that is then copied, as packets, for every player. This guide goes from the empty world to the saved type.

You need pulseprison.pmine.admin.


The parts of a type

text
┌──────────────── AREA (axe) ──────────────────┐
│  the whole structure: island, walls, decor    │
│                                               │
│   spawn ●     ┌──── ZONE (shovel) ─────┐      │
│  (outside     │ ░░░░░░░░░░░░░░░░░░░░░░ │      │
│   the zone)   │ ░░░░  ┌────────┐  ░░░░ │      │
│               │ ░░░░  │ start  │  ░░░░ │      │
│               │ ░░░░  └────────┘  ░░░░ │      │
│               │ ░░ bedrock = expansion │      │
│               └────────────────────────┘      │
└───────────────────────────────────────────────┘
PartWhat it isTool
AreaEverything the player sees around the mine: floor, walls, bedrock borders, decoration, spawnGolden axe
ZoneThe mine at its biggest size. Blocks you build there are ignored: the open part is filled with the type's stages and the locked part shows bedrockGolden shovel
SpawnWhere players appear. Must be inside the area and outside the zoneCommand
ExpansionHow many blocks per side start locked. Every purchased expansion opens one more block per sideCommand

The zone does not use the same corners as the area: it goes inside, for example inside the bedrock border.

Example: a 33×33 zone with expansion 15 starts at 3×3. One expansion makes it 5×5, two make it 7×7, and 15 reach 33×33. It grows one block on every side, so the width goes up by 2.


Step by step

1. Start

/pmineadmin setup <id>

It takes you to the build world (pulseprison_pmines_build). To redo an existing type, use /pmineadmin setup <id> overwrite: its name and block stages are kept.

Build the structure in that world, or paste it with WorldEdit.

2. Mark the area

/pmineadmin setup area

You get the axe:

  • Left click the block at one corner of the whole structure.
  • Right click the block at the opposite corner, above and on the other side.
  • Sneak + right click confirms. The axe disappears and the message shows the size and how many chunks it takes.

Without the axe: stand on each corner and use /pmineadmin setup area pos1 and area pos2.

3. Mark the mineable zone

/pmineadmin setup zone

You get the shovel:

  • Left click the block at the lowest corner of the zone.
  • Right click the block at the opposite highest corner.
  • Sneak + right click confirms. The shovel disappears and the message shows the biggest possible expansion.

Mark the whole mine, at the size it will have with every expansion.

Without the shovel: stand on the corners and use /pmineadmin setup min and max.

While marking, particles show the area and the zone.

4. Mark the spawn

Stand where players should appear, facing the mine, and run:

/pmineadmin setup spawn

It is saved exactly where you stand, with the direction you are facing.

5. Choose the expansion

/pmineadmin setup expansion 15

It is how many blocks per side start locked with bedrock. The message shows the starting and final size. The mine has to start with an open square of at least setup.minimum-start-size blocks per side (3 by default), so the maximum is the side minus that, divided by two. With 0, mines start with the whole zone and never grow.

Change the locked block with setup.locked-block and the smallest starting mine with setup.minimum-start-size, both in pmines/config.yml.

6. Review and save

text
/pmineadmin setup finish
/pmineadmin setup finish confirm

finish shows a summary and warns if something is missing. finish confirm reads the structure over several ticks, without freezing the server, and saves:

  • pmines/structures/<id>.ppmine: the structure.
  • pmines/types/<id>.yml: spawn, zone, expansion and stages.

When it is saved, the actions in setup.finish-actions run for you: by default [player] spawn, which takes you out of the build world.

A new type starts with a stone stage. Edit block-types in its file and run /pmineadmin reload. See Types, stages and expansion.

/pmineadmin setup cancel abandons the setup and removes the tools.


Using the type

  • To make it the type of new players, put its id in default-mine in pmines/config.yml.
  • For a type progression, list them in mine-order with upgrade-next-mine: true.
  • To move a player to this type: /pmineadmin settype <player> <id>.

Common problems

MessageWhat happensFix
The area is bigger than the limitMuch more than the structure was markedMark only the structure or raise setup.max-area-* in pmines/config.yml
The structure is X chunks wide, but existing mines use plots of YMines already exist with smaller plotsMake the area narrower, or delete the existing mines with /pmineadmin delete <player> confirm
The mineable box is only 1×NMin and max ended up on the same block or lineMark opposite corners diagonally
The spawn is inside the mineable boxPlayers would fall into the mineStand next to the mine, outside the zone
The expansion is over the limitIt would leave the mine smaller than the minimum starting sizeUse the maximum the message shows
Saved but disabledThe type doesn't fit the current plotsCheck the console: it shows the allowed size
The area only contains airNothing is built in the areaBuild the structure before saving

Setup limits

yaml
# pmines/config.yml
setup:
  max-area-width: 400
  max-area-height: 384
  max-area-blocks: 30000000
  locked-block: BEDROCK
  minimum-start-size: 3
  finish-actions:
    - "[player] spawn"

They stop a wrongly marked area from freezing the server while it is read.

Creating a private mine type | PulsePrison Core Docs