CzechPMDevs / BuilderTools

🪓 Powerful World Editor plugin for PocketMine servers
https://czechpmdevs.github.io/BuilderTools
Apache License 2.0
77 stars 36 forks source link
buildertools minecraft phpstan-l9 plugin pmmp pocketmine pocketmine-mp pocketmine-mp-plugin pocketmine-plugin pocketmine-plugins worldedit



✔️ Advanced WorldEdit commands
✔️ Using Sub Chunk Iterator to make block placing faster
✔️ Supports schematics
✔️ Minecraft: Java Version maps world fixer
✔️ Supports last PocketMine API version

👍 1.3.0 Update:

⬇️ Downloads:

Version Phar Download Zip Download API Min php version
1.3.0-beta2 Poggit GitHub 4.0.0^ 8.0
1.3.0-beta1 Poggit GitHub 4.0.0^ 8.0
1.2.0-beta4 Poggit GitHub 3.16.0^ 7.4
1.2.0-beta3 Poggit GitHub 3.16.0^ 7.4
1.2.0-beta2 Poggit GitHub 3.x.x 7.0
1.2.0-beta1 Poggit GitHub 3.x.x 7.0
1.1.0 GitHub GitHub 3.x.x 7.0
1.1.0-beta2 GitHub GitHub 3.x.x 7.0
1.1.0-beta1 GitHub GitHub 3.x.x 7.0
1.0.0 GitHub GitHub 3.0.0-ALPHA7 7.0


All released versions here
Other plugins by CzechPMDevs here


💬 FAQ

🔧 How to install BuilderTools?

1) Download latest stable version from poggit
2) Move dowloaded file to your server /plugins/ folder
3) Restart the server

🏠 BuilderTools commands


Commands

Command Description
//commands Displays list BuilderTools commands

Alias: //commands, /buildertools
Usage: //commands <page: 1-4>
//biome Changes biome in selected area

Usage: //biome list OR //biome <biomeId>
//blockinfo Switch block info mode

Usage: //blockinfo
Alias: //bi

In blockinfo mode you can get information about block by touching it.
//clearinventory Clears inventory

Usage: //clearinventory
Alias: //ci
//center Finds center of the selection

Usage: //center

Bedrock will appear in the middle of the selection
//copy Copy selected area into the clipboard

Usage: //copy

Copied area can be placed again using //paste, merged with the environment //merge or rotated //rotate.
//cube Creates cube

Usage: //cube <id1:dmg1,id2,...> <radius>

Creates a cube at your position.
//cut Cuts out selected area

Usage: //cube <id1:dmg1,id2,...> <radius>

The are is afterwards moved on to clipboard.
//cylinder Creates cylinder

Usage: //cube <id1:dmg1,id2,...> <radius>

Creates a cylinder at your position.
//draw Draws with blocks

Usage: //draw <cube or sphere or off> [brush: 1-6] [fall = false]

We recommend to use this command while creating big mountains. Draw mode is turned on by typing //draw <cube or sphere> and can be turned of typing //draw off.
//fill Fill selected area

Aliases: //set, //change
Usage: //fill <id1:dmg1,id2,...>

First you must create area using //pos1, //pos2 or by //wand.
//fix Fixes block in world from Minecraft: Java Edition

Usage: //fix <world>
//flip Flips selection

Usage //flip x OR //flip y OR //flip z

The argument represents axis to flip the selection through.
//hcube Creates hollow cube

Usage: //hcube <id1:dmg1,id2,...> <radius>

Creates hollow cube at your position.
//hcylinder Creates hollow cylinder

Usage: //hcyl <id1:dmg1,id2,...> <radius>

Creates hollow cylinder at your position.
//hpyramid Creates hollow pyramid

Usage: //hpyramid <id1:dmg1,id2,...> <radius>

Creates hollow pyramid at your position.
//hsphere Creates hollow sphere

Usage: //hsphere <id1:dmg1,id2,...> <radius>

Creates hollow sphere at your position.
//id Displays id of item in your hand

Usage: //id
//merge Merge copied area

Usage: //merge
//move Move blocks in selection

Usage: //move <x> <y> <z>

Move blocks in selected area.
//naturalize Replaces blocks in selected area to grass,dirt and stone

Usage: //naturalize
//outline Fills hollow selected area

Usage: //outline <id1:dmg1,id2,...>

Changes the all the outer layers.
//paste Paste copied area

Usage: //paste
//pos1 Select first position

Aliases: //1, //pos1
Usage: //pos1

You need select two positions for eg. filling or fixing Minecraft: Java Edition maps.
//pos2 Select second position

Aliases: //2, //pos2
Usage: //pos2

You need select two positions for eg. filling or fixing Minecraft: Java Edition maps.
//pyramid Creates pyramid

Usage: //pyramid <id1:dmg1,id2,...> <radius>

Creates pyramid in your position.
//redo Re-do BuilderTools action

Usage: //redo
//replace Replace blocks in selected area

Usage: //replace <blocksToReplace: id1,id2> <blocks: id1:dmg1,id2,...>

Replace blocks in selected area. First you must create area using //pos1, //pos2 or by //wand.
//rotate Rotate copied area

Usage: //rotate <y> [x] [z]

Y, X or Z is axis you can rotate object around. Use degrees as unit. Example: //rotate 90
//schematic Manage with schematics

Usage: //schem <reload OR load OR list OR paste> [filename]

Manage with schematics (reload - loads all schematics to memory; load - loads schematics for //schem paste; list - displays list of loaded schematics.
//sphere Creates sphere

Usage: //sphere <id1:dmg1,id2,...> <radius>

Creates a sphere in your position.
//stack Stacks copied area

Usage: //stack <count> [side or up or down]

Stacks blocks in line.
//tree Spawns tree

Usage: //tree <tree OR list>

There are implemented only basic trees (oak, spruce, jungle and birch)
//undo Cancels BuilderTools action

Usage: //undo
//wand Switch wand tool

Usage: //wand

First p
osition is set by breaking the block, second by touching the block. Wand tool can be turned of typing //wand again.


🛠️ Other features:

📜 Schematics

Loading schematics:

1) Move schematic file to /plugin_data/BuilderTools/schematics directory 2) Load schematic using //schem load <schematic> 3) Paste into the world using //schem paste <schematic>

Creating schematics:

1) Select two positions using //pos1 & //pos2 commands or using wand axe. 2) Use //schem create <schematicName> 3) File will be saved in directory /plugin_data/BuilderTools/schematics/schematicName.schematic

🌎 Fixing Java: Edition worlds

📃 Permissions


All BuilderTools Permissions:

Permission Command Operator Permissions required
buildertools.command.help //commands ✔️
buildertools.command.biome //biome ✔️
buildertools.command.blockinfo //blockinfo ✔️
buildertools.command.clearinventory //clearinventory ✔️
buildertools.command.copy //copy ✔️
buildertools.command.cube //cube ✔️
buildertools.command.cut //cut ✔️
buildertools.command.cylinder //cylinder ✔️
buildertools.command.decoration //decoration ✔️
buildertools.command.draw //draw ✔️
buildertools.command.fill //fill ✔️
buildertools.command.fix //fix ✔️
buildertools.command.hcube //hcube ✔️
buildertools.command.hcylinder //hcylinder ✔️
buildertools.command.hpyramid //hpyramid ✔️
buildertools.command.hsphere //hsphere ✔️
buildertools.command.id //id ✔️
buildertools.command.merge //merge ✔️
buildertools.command.move //move ✔️
buildertools.command.naturalize //naturalize ✔️
buildertools.command.outline //outline ✔️
buildertools.command.paste //paste ✔️
buildertools.command.pos1 //pos1 ✔️
buildertools.command.pos2 //pos2 ✔️
buildertools.command.pyramid //pyramid ✔️
buildertools.command.rotate //rotate ✔️
buildertools.command.schematic //schematic ✔️
buildertools.command.sphere //sphere ✔️
buildertools.command.stack //stack ✔️
buildertools.command.tree //tree ✔️
buildertools.command.undo //undo ✔️
buildertools.command.walls //walls ✔️
buildertools.command.wand //wand ✔️

🔧 Configuration

# BuilderTools configuration file
# Target BuilderTools version: 1.3.0

# Do not change this line.
config-version: 1.3.0.0

# This is format which will be used for creating schematics
# Supported formats: 'mcedit', 'mcstructure', 'buildertools'
output-schematics-format: 'mcedit'

# Option for compressing clipboards. This will make the actions
# slower, but reduces RAM usage.
clipboard-compression: true

# Some shapes are generated with duplicate blocks. This problem causes
# some blocks are not reverted right when doing //undo. This option
# is for removing duplicates.
# Warning: This action takes around 98% time of the whole process!
remove-duplicate-blocks: true

# BuilderTools saves player's clipboard, undo & redo stuff when player
# leaves server to disk. This cache should be cleaned after restart (to
# avoid unexpected bugs). This  option is to disable removing those files.
clean-cache: true

# When player leaves the server, player's session is saved, even if player did not
# do any action with BuilderTools. If you enable this, player's sessions will not
# be saved and when player joins the server again, his clipboard data will be lost
# This option is good when BuilderTools is only used as api plugin on server with
# high amount of players.
discard-sessions: false

# PowerItems settings:

# When disabled, //wand command still works, but instead of wand axe is hand
# going to be the 'wand tool'
wand-axe:
  enabled: true
  name: "§r§fWand Axe\n§7§oBreak for first pos\n§7§oTouch for second pos"

blockinfo-stick:
  enabled: false
  name: "§r§fDebug Stick\n§7§oTouch block for info"


💰 Credits


💡 License

Copyright 2018-2022 CzechPMDevs    

Licensed under the Apache License, Version 2.0 (the "License");    
you may not use this file except in compliance with the License.    
You may obtain a copy of the License at    

https://www.apache.org/licenses/LICENSE-2.0    

Unless required by applicable law or agreed to in writing, software    
distributed under the License is distributed on an "AS IS" BASIS,    
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    
See the License for the specific language governing permissions and    
limitations under the License.  

Full license here.