How to add WorldEdit to Minecraft Bedrock Server [ DOCUMENTATION ] #442
josephdpurcell
started this conversation in
Show and tell
Replies: 1 comment
-
With WorldEdit 0.9.3 and 1.21.44.01 I didn't need to set valid_known_packs.json, that file is missing. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
See OneBlock and No Potion Particles guides for examples of simpler mods to install.
WorldEdit: Bedrock Edition is the most complex mod I've run into to install because it has a behavior pack, resource pack, requires experimental flags, and requires custom variables.
This guide could be simplified, but just to make sure it's clear for people new to Docker Minecraft Bedrock Server I'm going to itemize in detail
Known Issues
This guide was written for WorldEdit 0.9.0 but you will need the newer version, see SIsilicon/WorldEdit-BE#277. The instructions below may still work? At least for the Behavior Pack (BP) it looks like the UUID is the same.
Requirements
This assumes you're using Docker Minecraft Bedrock Server to run your Minecraft server.
It assumes you know how to read and edit JSON. If you do not check out a "Tutorial" here https://github.com/burningtree/awesome-json#tutorials.
1 - Start and stop a fresh server
This guide will assume your Minecraft server has been booted at least once so all the data files are created.
I did this by using a docker-compose.yml file like so:
Example docker-compose.yml
Note: I use a pattern like "2_1" where "2" is the last digit of the port and "1" is the directory, so I could have "2_1" and "2_2" worlds only one running at a time on port 19132. "3_1" then would be 19133.Then running:
But, before continuing make sure the server is off:
2 - Download the mod
Go to https://github.com/SIsilicon/WorldEdit-BE and download the latest version. This guide will use v0.9.0.
To do this, go to "Tags" and click on the latest version. Scroll down to "Assets" and download the "WorldEdit.server.zip".
When I downloaded it 2024-07-31 the sashum and md5sum (whichever you prefer) was:
3 - Copy the mod files
First, take the zip file and unzip it. We'll assume it's in your
~/Downloads
directory.Now, there are THREE things to copy.
3.A. Copy the Resource Pack
3.B. Copy the Behavior Pack
3.C. Copy the variables.json
4 - Install the Resource Pack and Behavior Pack
By "install" here I mean "do the things that actually wire up the packs to your world.
4.A. Get the UUID and Version of the Resource Pack
Here you can see the UUID is
e304a4eb-f0a0-4979-ac17-7b0f46a555c8
and version is0.9.0
.4.B. Get the UUID and Version of the Behavior Pack
Here you can see the UUID is
3cdb2ddf-662e-4f8f-a0a1-1293b91ccb2f
and version is0.9.0
.4.C. Add the packs to valid_known_packs.json
Now edit
data/valid_known_packs.json
. The whole file is an array of JSON objects so you're going to add two elements to the end of that array like so:4.D. Add the Resource Pack to the world_resource_packs.json
The contents is an array of objects and you'll make sure at least this object is in there. If this is the only Resource Pack you've installed it will look exactly like this:
4.E. Add the Behavior Pack to the world_behavior_packs.json
The contents is an array of objects and you'll make sure at least this object is in there. If this is the only Behavior Pack you've installed it will look exactly like this:
5 - Enable experimental flags in level.dat
This was the most difficult part to figure out. The
level.dat
file is in a special format that you'll need an editor for which various ones have issues, see my comments on #373 (reply in thread).The NBT Viewer extension for VSCode worked for me on Linux so I'll use that here.
First, install VSCode and install the extension if you haven't already.
Make a backup of your
level.dat
in case you need it:Now, edit the real
level.dat
file in VSCode:Scroll down to "experiments" and click the + to expand the options. Double-click the
0
next to theexperiments_ever_used
andsaved_with_toggled_experiments
and replace the0
with a1
and then click "Confirm" like so:Next we need to add flags to the "experiments" section. To do this, left click once on the word "experiments" then click "Add Tag". You should now see an input for Name and Value like so:
Enter in these three:
data_driven_items
=1
gametest
=1
upcoming_creator_features
=1
Save the file.
The final result should look like:
Note 1: I don't think you need
upcoming_creator_features
? I didn't rigorously test which ones are required, I just enabled them until it worked. The documentation is unclear https://worldedit-be-docs.readthedocs.io/en/stable/installation/#installation-step-by-step, imo, especially given this comment: SIsilicon/WorldEdit-BE#145 (comment).Note 2: the red "B" is for "Byte" so if you're using a different editor make sure it's a byte type.
6 - Start the server and connect
Start your server. In the case of using docker compose you would run:
When you connect it should prompt you to "Download & Join" which will install resource packs.
7 - Tag yourself with worldedit
This requires that you are an operator.
In Minecraft, run this command:
You should see output like:
8 - Exit world and re-enter
If you gave yourself the kit and the block icons don't show correctly it could be that you need to exit the world and re-enter for the game to properly detect that resource packs need installed on the client.
9 - Profit
At this point you should be able to follow the WorldEdit documentation.
The first thing I did was run this command in Minecraft:
Which gave me all the things.
Troubleshooting
Are your JSON files valid JSON?
You can use
jq
to test:It will print the file else error.
Does the server have the packs loaded?
The Resource Packs and Behavior Packs won't show up in the Minecraft interface. You will need to look at the server logs to see if the mods loaded, and even then it will only show behavior packs not resource packs.
Example behavior pack loaded in the logs:
Are you an op?
Make sure your user is an operator. You cannot tag if you are not an operator.
Beta Was this translation helpful? Give feedback.
All reactions