
Orestack - Regenerating blocks 3.18
Create regenerating blocks and structures with customizable harvesting and growth stages!
![]() |
![]() |
![]() |
![]() |
Warning: Purchase the plugin with a 40% discount, 4.79 instead of 7.99 for the first 10 days of release.
Revolutionize your server's gathering system with Orestack! Customize growth and harvesting stages to create unique gathering mechanics. Use single blocks or entire structures, and effortlessly place them in your world with commands, items, or a wand.
Generator Stages:
Depleted
Growing
Harvestable
Replenished
Crop Aging:
Structures:
Triggers:
onBreak ~ when mining a generator block
onGrowth ~ when a generator grows to the next stage
onClick ~ when a generator is clicked
onGrowth ~ when a generator grows to the next stage
onClick ~ when a generator is clicked
Conditions:
online players
has permission
has flag
has exp
has exp level
has item
has played before
is flying
is sneaking
tool is similar
tool has enchant
is placeholder
has money ~ vault and economy required
Actions:
broadcast
lightning
console command
drop item
particle
sound
strike block
drop at block
particle at block
sound at block
drop at player
particle at player
sound at player
give exp
give flag
give item
give money ~ reguires vault and economy
take exp
take flag
take item
take money ~ reguires vault and economy
set exp
heal
damage
command
chat message
message
strike player
set flight
teleport
lightning
console command
drop item
particle
sound
strike block
drop at block
particle at block
sound at block
drop at player
particle at player
sound at player
give exp
give flag
give item
give money ~ reguires vault and economy
take exp
take flag
take item
take money ~ reguires vault and economy
set exp
heal
damage
command
chat message
message
strike player
set flight
teleport
Configuration Debugging System:
Configuration:
Files & Folders

Diamond Generator
---
type : depleted
block : cobblestone
growth : 30
---
type : harvestable
block : stone
growth : 240
---
type : harvestable
block : gold ore
growth : 480
---
type : replenished
block : diamond ore
---
Great Oak Tree
---
state : depleted
structure : great_oak_tree_1
growth : 100
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aGrowing: %generator_timer_seconds%s"
update : 3
offset : { x : -3, y : 2, z : 1 }
---
state : harvestable
structure : great_oak_tree_2
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 20"
offset : { x : -3, y : 2, z : 1 }
on-break:
actions :
- [drop_at_player, OAK_LOG:19 ]
---
state : harvestable
structure : great_oak_tree_3
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 21"
offset : { x : -3, y : 2, z : 1 }
---
state : harvestable
structure : great_oak_tree_4
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 22"
offset : { x : -3, y : 2, z : 1 }
---
state : harvestable
structure : great_oak_tree_5
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 23"
offset : { x : -3, y : 2, z : 1 }
---
state : harvestable
structure : great_oak_tree_6
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 24"
offset : { x : -3, y : 2, z : 1 }
---
state : replenished
structure : great_oak_tree_7
hologram:
- text : "&2&lGreat Oak Tree"
offset : { x : -3, y : 2.25, z : 1 }
- text : "&aLogs left: 25"
offset : { x : -3, y : 2, z : 1 }
---
Particles
simple-particle:
particle : crit # The particle type
count : 1 # The amount of particles
offset : { x : 0, y : 0, z : 0 } # The exact offset where the particle will spawn
delay : 0 # The delay after which this particle should spawn
repetitions : 20 # The amount of times this particle should spawn
range : { x : 1, y : 1, z : 1 } # The random range in which it will spawn
force : false # Works only if player-only is false, increases the view distance
player-only : false # Whether visible to all or just target player, default is false
explosion:
particle : EXPLOSION_LARGE
count : 1
offset : { x : 0, y : 0, z : 0 }
fire_ring:
- { particle : flame, count : 1, offset : {x : 1.0, y : -0.40, z : 0 } }
- { particle : flame, count : 1, offset : {x : 0.923, y : -0.40, z : 0.383 } }
- { particle : flame, count : 1, offset : {x : 0.707, y : -0.40, z : 0.707 } }
- { particle : flame, count : 1, offset : {x : 0.383, y : -0.40, z : 0.923 } }
- { particle : flame, count : 1, offset : {x : 0.0, y : -0.40, z : 1.0 } }
- { particle : flame, count : 1, offset : {x : -0.383, y : -0.40, z : 0.923 } }
- { particle : flame, count : 1, offset : {x : -0.707, y : -0.40, z : 0.707 } }
- { particle : flame, count : 1, offset : {x : -0.923, y : -0.40, z : 0.383 } }
- { particle : flame, count : 1, offset : {x : -1.0, y : -0.40, z : 0 } }
- { particle : flame, count : 1, offset : {x : -0.923, y : -0.40, z : -0.383 } }
- { particle : flame, count : 1, offset : {x : -0.707, y : -0.40, z : -0.707 } }
- { particle : flame, count : 1, offset : {x : -0.383, y : -0.40, z : -0.923 } }
- { particle : flame, count : 1, offset : {x : 0.0, y : -0.40, z : -1.0 } }
- { particle : flame, count : 1, offset : {x : 0.383, y : -0.40, z : -0.923 } }
- { particle : flame, count : 1, offset : {x : 0.707, y : -0.40, z : -0.707 } }
- { particle : flame, count : 1, offset : {x : 0.923, y : -0.40, z : -0.383 } }
fire_spiral_a:
- { particle : flame, count : 1, offset : {x : 1.0, y : -0.4, z : 0 }, delay : 0 }
- { particle : flame, count : 1, offset : {x : 0.923, y : -0.3, z : 0.383 }, delay : 4 }
- { particle : flame, count : 1, offset : {x : 0.707, y : -0.2, z : 0.707 }, delay : 8 }
- { particle : flame, count : 1, offset : {x : 0.383, y : -0.1, z : 0.923 }, delay : 12 }
- { particle : flame, count : 1, offset : {x : 0.0, y : 0.0, z : 1.0 }, delay : 16 }
- { particle : flame, count : 1, offset : {x : -0.383, y : 0.1, z : 0.923 }, delay : 20 }
- { particle : flame, count : 1, offset : {x : -0.707, y : 0.2, z : 0.707 }, delay : 24 }
- { particle : flame, count : 1, offset : {x : -0.923, y : 0.3, z : 0.383 }, delay : 28 }
- { particle : flame, count : 1, offset : {x : -1.0, y : 0.4, z : 0 }, delay : 32 }
- { particle : flame, count : 1, offset : {x : -0.923, y : 0.5, z : -0.383 }, delay : 36 }
- { particle : flame, count : 1, offset : {x : -0.707, y : 0.6, z : -0.707 }, delay : 40 }
- { particle : flame, count : 1, offset : {x : -0.383, y : 0.7, z : -0.923 }, delay : 44 }
- { particle : flame, count : 1, offset : {x : 0.0, y : 0.8, z : -1.0 }, delay : 48 }
- { particle : flame, count : 1, offset : {x : 0.383, y : 0.9, z : -0.923 }, delay : 52 }
- { particle : flame, count : 1, offset : {x : 0.707, y : 1.0, z : -0.707 }, delay : 56 }
- { particle : flame, count : 1, offset : {x : 0.923, y : 1.1, z : -0.383 }, delay : 60 }
fire_spiral_b:
- { particle : flame, count : 1, offset : {x : -1.0, y : -0.4, z : 0.0 }, delay : 0 }
- { particle : flame, count : 1, offset : {x : -0.923, y : -0.3, z : -0.383 }, delay : 4 }
- { particle : flame, count : 1, offset : {x : -0.707, y : -0.2, z : -0.707 }, delay : 8 }
- { particle : flame, count : 1, offset : {x : -0.383, y : -0.1, z : -0.923 }, delay : 12 }
- { particle : flame, count : 1, offset : {x : 0.0, y : 0.0, z : -1.0 }, delay : 16 }
- { particle : flame, count : 1, offset : {x : 0.383, y : 0.1, z : -0.923 }, delay : 20 }
- { particle : flame, count : 1, offset : {x : 0.707, y : 0.2, z : -0.707 }, delay : 24 }
- { particle : flame, count : 1, offset : {x : 0.923, y : 0.3, z : -0.383 }, delay : 28 }
- { particle : flame, count : 1, offset : {x : 1.0, y : 0.4, z : 0 }, delay : 32 }
- { particle : flame, count : 1, offset : {x : 0.923, y : 0.5, z : 0.383 }, delay : 36 }
- { particle : flame, count : 1, offset : {x : 0.707, y : 0.6, z : 0.707 }, delay : 40 }
- { particle : flame, count : 1, offset : {x : 0.383, y : 0.7, z : 0.923 }, delay : 44 }
- { particle : flame, count : 1, offset : {x : 0.0, y : 0.8, z : 1.0 }, delay : 48 }
- { particle : flame, count : 1, offset : {x : -0.383, y : 0.9, z : 0.923 }, delay : 52 }
- { particle : flame, count : 1, offset : {x : -0.707, y : 1.0, z : 0.707 }, delay : 56 }
- { particle : flame, count : 1, offset : {x : -0.923, y : 1.1, z : 0.383 }, delay : 60 }
# You can use particles that have already been defined before
double_fire_spiral :
- fire_spiral_a
- fire_spiral_b
Sounds
tin:
sound : ENTITY_EXPERIENCE_ORB_PICKUP
# volume: 1.0
# pitch: 1.0
# offset: { x: 0, y: 0, z: 0 }
# delay: 5
# repetitions: 2
tin_tin:
- sound : ENTITY_EXPERIENCE_ORB_PICKUP
- sound : ENTITY_EXPERIENCE_ORB_PICKUP
delay : 5
Holograms, Messages & Particles:

Block Protections:
Entity Explosion
Block Explosion
Leaves Decay
Block Burn
Piston Extend
Piston Retract
Supported Plugins:
WorldGuard ~ Allows players to mine generators inside protected regions
PlaceholderAPI ~ Allows placeholder use in messages, holograms and commands
Vault ~ Allows you to use economy conditons/actions (has money, give money and take money)
Planned Features:
- Remove WorldEdit dependency and use internal wand for setting generators
- Add more conditions and actions also based on suggestions
- Add vault related conditions/actions: (HAS_MONEY, GIVE_MONEY, TAKE_MONEY)
- Add sound and message related commands (like /orestack particle)
- Holograms
- Make multi block generators
- Fix placeholders
- Add structure related commands to create structures fast
- Add a way to rotate generator structure before placing
- Add hologram message, a hologram that spawns and despawns after a set period
Notes
- configuration files are subject to change and might need to be rewritten between updates
- falling blocks must be supported or will fall (The generator will be removed)
- generators will not drop items in creative mode
Support is only given for the latest versions
Suggestions, support, bug reports.