Voxel Shop beta is live. Expect occasional bugs. Learn more
Schematics that build themselves block-by-block with a worker crew - paste mode, ghost previews
What is IgnitePaste?
IgnitePaste turns schematic placement into something your players actually want to watch. Instead of a structure blinking into existence, it can rise from the ground block by block while a crew of worker NPCs walks the site and hammers every block into place - finishing in exactly the time you set.
Under that showpiece sits a clean, practical paste mode: select a schematic, preview it as a ghost, adjust its position, rotate it, move it up or down, lock the placement point, and only then paste it into the world. No awkward commands, no guesswork.
And it doubles as a complete schematic shop engine: charge money or materials per paste, sell builds as voucher items, hand out plot houses, and track every sale through MySQL and a stats command.
Players get a build worth watching. Owners get comfort, presentation, and control.
Why your server will benefit from it
A building that grows in front of you feels earned. When a player buys a house, claims a plot, or unlocks a reward, the Construction Animation turns that moment into a little event - the structure rises from the foundation up, workers walk the scaffolding and swing their tools, and the whole thing lands right on cue. It is the kind of moment players screenshot and tell their friends about.
Before any paste, players see exactly what they are about to place as a ghost preview - perfect for pre-made builds, purchasable structures, event objects, dungeons, islands, and decorations. Less confusion, fewer misplaced builds.
For shop and plot servers, IgnitePaste turns schematics into a real economy layer - every structure has a price, a cooldown, a per-player limit and a refund window, all wired to Vault out of the box.
For staff and builders it still saves time too: less manual fixing, fewer misplaced structures, a much nicer workflow.
Main Features
Simple Hotbar Workflow
IgnitePaste is designed to feel natural in-game. Once paste mode is enabled, the player receives a set of tools that handle the entire placement process.
Animations
The headline update. A paste no longer has to be instant - schematics can now build themselves over time, with a crew of worker NPCs placing every single block by hand. Turn a plot purchase, a reward unlock, or an event setup into a moment players actually stop to watch.

Commands
Aliases: /ipaste, /paste
Permissions
PlaceholderAPI
IgnitePaste registers a PlaceholderAPI expansion automatically when PAPI is installed. Use these placeholders in any PAPI-aware plugin - scoreboards, TAB, chat formatters, holograms, custom GUIs - to surface live paste-mode data to your players.
Use them to show a "Ready / Cooldown 12s" status next to schematic icons in a DeluxeMenus GUI, to drive a TAB column showing how many placements the player has left, or to highlight in chat which schematic someone is actively positioning. Silently disabled when PlaceholderAPI is not installed.
Storage Backends
Cooldowns, per-player use counts and aggregate paste stats are persisted through a pluggable storage backend. Pick the one that fits your setup - switching is one line of config and a reload.
JDBC drivers (SQLite, MySQL) are pulled in at runtime by Paper's library loader - no jar drops, no classpath surgery. Just flip storage.backend in config.yml.
Requirements
Perfect for
Why choose IgnitePaste?
Most schematic tools just drop a build into the world and move on. IgnitePaste makes the placement itself part of the experience.
The Construction Animation is the part players remember - a structure that rises from the ground while a crew of workers builds it by hand, landing on cue. No other paste plugin does this, and it costs you nothing but a single config value to turn on.
Around that sits everything you'd expect from a serious plugin: ghost previews so nothing lands wrong, a full schematic shop layer (vouchers in chest shops, prices shown before confirm, plot-restricted placement, full sales stats), and quiet quality-of-life for staff and builders.
A build worth watching. Less confusion. More control.
Future Plans & Early Price
IgnitePaste is planned as a long-term project, not just a simple one-time paste plugin. The current version already focuses on making schematic placement cleaner and more comfortable, but the goal is to keep expanding it into a much more powerful building workflow tool.
Planned future ideas include(As Addons):
For example, builders could provide several schematics of houses made in the same style, and the generator could eventually help create additional house variations with small differences in shape, layout, details, or decoration. This would be especially useful for larger towns, districts, RPG areas, dungeons, survival structures, or any project where repeating the exact same build over and over would feel too copy-pasted.
The idea is simple: builders already create amazing structures, and IgnitePaste can grow into a tool that helps them produce more variations on a larger scale while keeping the same visual direction.
The current price is the lowest it will be.
As IgnitePaste receives more updates and bigger features, the price is planned to increase. Buying early means getting access at the best available price while supporting the development of future systems.
Added a new console-only one-time paste mode using:
/ignitepaste onetime
This mode loads a preselected schematic directly onto the target player's hotbar, with only the required tools available:
The schematic selector and undo tools are hidden to keep the workflow simple, focused, and safe.
After a successful paste, the mode automatically closes and restores the player's inventory. A dedicated close item is also available, allowing the player to exit without placing the schematic.
Good Use Cases
Main Changes
Other Improvements
Main Changes
New Permissions
The headline update. A paste no longer has to be instant - schematics can now build themselves over time, with a crew of worker NPCs placing every single block by hand. Turn a plot purchase, a reward unlock, or an event setup into a moment players actually stop to watch.
Main Changes
Configuration
IgnitePaste includes clear configuration files so you can adapt the plugin to your server's style and needs.
You can customize messages, preview behavior, tool layout, schematic locations, effects, and other important settings to make the plugin fit your server properly.
# IgnitePaste configuration
paste-mode:
invisibility:
enabled: true
amplifier: 0
speed:
enabled: false
amplifier: 1
night-vision:
enabled: true
allow-flight: true
stash-inventory: true
lock-inventory: true# Hotbar tools given to the player when entering paste mode.
# Slot layout: 0 selector, 1 rotate, 2 distance, 3 vertical,
# 4 preview, 5 lock, 6 paste, 7 (empty), 8 undo/close.
tools:
selector:
slot: 0
material: CHEST
display-name: "Schematic Selector"
lore:
- "Right-click to pick a schematic"
- "from the WorldEdit schematics folder."
rotate:
slot: 1
material: SLIME_BALL
display-name: "Rotation Dial"
lore:
- "Right-click to rotate 90 degrees."
- "Sneak + right-click to flip on X/Z."
distance:
slot: 2
material: HEART_OF_THE_SEA
display-name: "Distance Adjuster"
lore:
- "Right-click to push the schematic further."
- "Left-click to pull the schematic closer."
- "Sneak + click to reset."
step: 1
min: -32
max: 64
vertical:
slot: 3
material: FEATHER
display-name: "Vertical Adjuster"
lore:
- "Right-click to lift the schematic up."
- "Left-click to drop it down."
- "Sneak + click to reset."
step: 1
min: -64
max: 64
preview:
slot: 4
material: IRON_HOE
display-name: "Preview Toggle"
lore:
- "Right-click to toggle ghost preview"
- "of every non-air block in the schematic."
lock:
slot: 5
material: TRIPWIRE_HOOK
display-name: "Anchor Lock"
lore:
- "Right-click to freeze the preview in place."
- "Fly around, inspect, then right-click the paste wand."
- "Click again to unlock."
paste:
slot: 6
material: STICK
display-name: "Paste Wand"
lore:
- "Right-click to paste the selected"
- "schematic at the outlined location."
undo:
slot: 8
material: BARRIER
display-name: "Undo Paste"
lore:
- "Right-click to restore the blocks overwritten"
- "by the last paste. Stacks up to undo-history."
close:
slot: 8
material: RED_DYE
display-name: "Close One-Time Paste"anchor:
strategy: LOOKING_AT
raytrace-distance: 12
center-xz: true
place-above: true
update-interval-ticks: 2
preview-update-interval-ticks: 4outline:
edge-material: LIME_STAINED_GLASS
edge-thickness: 0.12
brightness-block: 15
brightness-sky: 15
view-range: 2.0
edges-only: true
segment-length: 16
corner-markers:
enabled: true
size: 0.35
material: LIME_STAINED_GLASSpreview:
inflate: 0.04
brightness-block: 15
brightness-sky: 15
view-range: 1.5
max-blocks: 4096
max-dimension: 128
max-radius: 24
min-player-clearance: 10
window-move-step: 8
remove-delay-ticks: 2
glow:
enabled: true
color-rgb: [ 130, 255, 130 ]gui:
# Title placeholders: , ,
title: "Schematic Browser"
size: 54
entry-slot-start: 0
entry-slot-end: 44
navigation:
previous: { slot: 45, material: ARROW, display-name: "Previous Page" }
next: { slot: 53, material: ARROW, display-name: "Next Page" }
close: { slot: 49, material: BARRIER, display-name: "Close" }
entry:
material: FILLED_MAP
display-name: ""
# Lore placeholders:
# , , , , - always available
# - money cost from sidecar (Vault formatted, "Free" if no cost)
# - cooldown-seconds from sidecar ("None" if 0)
# - this player's remaining cooldown ("Ready" if off-cooldown)
# - remaining uses for this player ("∞" if no cap)
lore:
- "Size: xx"
- "Folder: "
- "Cost: "
- "Cooldown: ()"
- "Uses left: "
- ""
- "Click to select"
folders:
enabled: true
material: CHEST
display-name: "/"
lore:
- "Folder"
- "Entries: "
- ""
- "Click to open"
back:
slot: 47
material: ARROW
display-name: "« Back to "
locked-entry:
material: BARRIER
display-name: ""
lore:
- "Folder: "
- "Size: xx"
- ""
- "You do not have access to this schematic."schematics:
# Leave blank to use the WorldEdit / FastAsyncWorldEdit default.
folder: ""
recursive: true
extensions: [ schem, schematic ]paste:
ignore-air: true
copy-entities: false
copy-biomes: false
require-sneak-confirm: false
undo-history: 10
async:
enabled: true
blocks-per-tick: 1024
batch-particle: HAPPY_VILLAGER
batch-particle-count: 4
batch-sound: block.stone.place
batch-sound-volume: 0.4
batch-sound-pitch: 1.5
batch-sound-every: 8effects:
enter-mode: { sound: entity.experience_orb.pickup, volume: 0.8, pitch: 1.6, particle: END_ROD, particle-count: 32 }
exit-mode: { sound: block.beacon.deactivate, volume: 0.6, pitch: 1.0, particle: SMOKE, particle-count: 24 }
select-schematic: { sound: ui.button.click, volume: 0.8, pitch: 1.4 }
rotate: { sound: item.armor.equip_chain, volume: 0.6, pitch: 1.8 }
paste-success: { sound: block.amethyst_block.chime, volume: 1.0, pitch: 1.2, particle: HAPPY_VILLAGER, particle-count: 48 }
paste-fail: { sound: block.anvil.land, volume: 0.5, pitch: 0.6 }
preview-toggle: { sound: block.note_block.bit, volume: 0.6, pitch: 1.2 }spectate:
enabled: true
require-permission: true
permission: ignitepaste.spectate
ops-always: true# Each schematic gets an automatic permission: ignitepaste.schem.
permission-gating:
enabled: true
hide-locked: false# WorldGuard region guard (1.2.0).
region-guard:
enabled: true
bypass-permission: ignitepaste.regionguard.bypass
sample-density: corners# Optional per-schematic sidecar - see the examples in the spoilers below.
# ── 1.3.0 ─────────────────────────────────────────────────────────────────────
# Vault economy. Requires Vault + an economy plugin.
economy:
enabled: false
refund-on-fail: true
free-permission: ignitepaste.economy.free
# Confirmation GUI before any paid paste (cost > 0 OR material cost set).
confirm-purchases: true
confirm-timeout-seconds: 30
# Undo within this many seconds = automatic refund. 0 disables.
refund-window-seconds: 30# Cooldown enforcement.
cooldown:
enabled: true
persist: true
bypass-permission: ignitepaste.cooldown.bypass# Timestamped log for every successful paste.
paste-log:
enabled: false
file: logs/paste.log# PlaceholderAPI: %ignitepaste_in_mode%, %ignitepaste_selected%,
# %ignitepaste_cooldown_%, %ignitepaste_uses_%
placeholders:
enabled: true# Storage backend for cooldowns, use counts and stats.
# YAML / SQLITE / MYSQL. JDBC drivers are auto-loaded at runtime.
#
# MySQL example:
# backend: MYSQL
# host: db.yourserver.net
# port: 3306
# database: ignitepaste
# username: paste_user
# password: "your_password_here"
# use-ssl: true
# max-pool-size: 6
storage:
backend: YAML
sqlite-file: data/cooldowns.db
host: localhost
port: 3306
database: ignitepaste
username: root
password: ""
use-ssl: false
max-pool-size: 6# Schematic voucher items.
# Issue via: /paste voucher give [amount]
vouchers:
enabled: true
material: PAPER
display-name: "Schematic Voucher"
lore:
- "Right-click to redeem."
- "Schematic: "
- "Folder: "
- ""
- "<#7CFF9B>Paste once. The cost is already paid."# PlotSquared + Towny soft integrations.
integrations:
plotsquared:
enabled: true
bypass-permission: ignitepaste.plot.bypass
towny:
enabled: true
bypass-permission: ignitepaste.towny.bypass# ── 1.4.0 - Construction Animation ──────────────────────────────────────────
# Schematics build themselves block-by-block. Set default-duration-seconds: 0
# to keep instant paste globally and opt-in per schematic via the sidecar
# `construction-duration:` field. The crew auto-tunes its speed to hit the
# configured duration exactly.
construction:
default-duration-seconds: 0 # 0 = instant; >0 = animate every paste
min-duration-seconds: 5
max-duration-seconds: 600
layer-order: CENTER # CENTER / EDGE / RANDOM
scaffold-particle: CRIT
scaffold-particle-count: 3
hammer-sound: block.wood.hit
hammer-sound-every-ticks: 10
complete-sound: ui.toast.challenge_complete
rollback-on-cancel: true # restore + refund if the player leaves mid-build
speed-up: # /ignitepaste speedup
enabled: true
cost: 100.0
multiplier: 3.0
# Optional progress boss bar shown to the builder.
boss-bar:
enabled: true
title: "Building · %"
color: YELLOW # PINK/BLUE/RED/GREEN/YELLOW/PURPLE/WHITE
overlay: NOTCHED_10 # PROGRESS/NOTCHED_6/10/12/20
update-interval-ticks: 4
# The crew that physically places every block. ZOMBIE holds + swings tools;
# avoid VILLAGER (its model can't swing or hold a tool in-hand).
workers:
enabled: true
count: 2
entity-type: ZOMBIE
burn-immune: true # never catch fire in daylight
hand-item: IRON_PICKAXE
hand-item-custom-model-data: 0
helmet: { material: LEATHER_HELMET, color: "#FFE600" } # hard hat
chestplate: { material: LEATHER_CHESTPLATE, color: "#FF8C00" } # hi-vis vest
leggings: { material: LEATHER_LEGGINGS, color: "#3D5A80" }
boots: { material: LEATHER_BOOTS, color: "#3F2F1F" }
walk-speed: 0.18
swing-min-ticks: 8
swing-max-ticks: 22
swing-particle: CRIT
swing-particle-count: 4Example schematic sidecar cost-items: FULL_SCHEMATIC
# survival/farmhouse.yml - placed next to survival/farmhouse.schem.
# Triggers FULL_SCHEMATIC material mode: the player must have every block
# the schematic will place in their inventory. Items are consumed on paste.
display-name: "Farmhouse Kit"
lore:
- "Bring every block. Stand on your plot. Right-click paste."
cooldown-seconds: 0
cost: 0.0
cost-items: FULL_SCHEMATIC
Example schematic sidecar (paid plot house)
# plots/cottage.yml - paid one-per-account plot house.
# Combined with PlotSquared / Towny integration, the player can only place
# the building on land they control, and only once per account.
permission: ignitepaste.schem.cottage
display-name: "<#FFD166>Cottage"
lore:
- "A cosy starter home."
- "One per player, ever."
cooldown-seconds: 86400 # 1 paste per day
cost: 2500.0 # Vault money cost
max-uses-per-player: 1 # lifetime cap
allowed-worlds:
- plots
Example schematic sidecar animated build - 1.4.0
# plots/manor.yml - a paid manor that builds itself over 3 minutes.
# The worker crew places every block by hand and finishes on the dot.
display-name: "Grand Manor"
cost: 25000.0
construction-duration: 180 # seconds; overrides the global default
speed-up-cost: 500.0 # what /ignitepaste speedup costs for this build
custom-model-data: 0 # optional resource-pack model for the GUI icon
max-uses-per-player: 1
allowed-worlds:
- plots
Example sidecar:
# plots/manor.yml
display-name: "Grand Manor"
cost: 25000.0
construction-duration: 180 # 3-minute build
speed-up-cost: 500.0 # /speedup price for this schematic
custom-model-data: 0 # optional GUI icon model
Support
If you need help with setup or configuration, contact me through BuiltByBit private messages or by Discord https://discord.gg/M3t47tFfTx
Author: IgniteDEV