WorldEdit

WorldEdit

42M Downloads

A tool for changing block material while maintaining block state

MalcolmMacDonald opened this issue ยท 4 comments

commented

The Problem

If you want to change a wooden halfslab staircase into a cobblestone halfslab staircase, you have to replace the wood slabs and then the wood blocks separately.

Similarly, if you want to change the material of a greebled wall, you have to replace each differently shaped block separately. This leads to situations where you accidentally replace a stair with a full block or vise versa.

A Solution

A tool that lets you select the material of a block (eg. cobblestone, acacia wood) and can only modify blocks that can be transformed into that material.

An example interaction:

Right click on Oak Stairs -> "You have selected Oak" -> Right click on a Cobblestone Slab -> The Cobblestone Slab becomes an Oak Slab

Right click on Gold Block -> "This material cannot be transferred to other blocks"

Ideally you would be able to apply this effect to an area as well, to do bulk editing.

Alternatives

No response

Anything Else?

No response

commented

It looks like I'm duplicating 2014 but I cant find the section in the docs that shows the behaviour I'm looking for. I'm of the opinion that this feature request is actually requesting something different.

commented

materials like "oak" or "cobblestone" do not actually exist in minecraft as you describe them.
however you can just replace oak_stairs with cobblestone_stairs while maintaining states, which is what that issue is, and as mentioned already exists. doing this for multiple blocks at once (as opposed to just multiple replaces, one for stairs, one for slabs, etc) would require something like #791 since, as mentioned, that mapping doesn't exist in minecraft itself. i'm not sure if this request differs from either #2014 or #791 at all, so going to close this as a duplicate unless you can elaborate otherwise.

commented

materials like "oak" or "cobblestone" do not actually exist in minecraft as you describe them

That's what I suspected. My assumption is that this would require a hand-authored map between objects and their materials to be made and saved within the source code of worldedit (my uneducated guess is that 90% of it could be automatically generated using string matching).

You could absolutely do something like this tool with #791, or any hand written filter that maps individual blocks to each other. My request is different because it would take out the time of writing a filter each time you want to change materials or refer to multiple blocks at once. For example setting up a filter to swap all Cobblestone blocks to Oak blocks would be laborious for the user, and could be a built-in feature.

commented

string matching would just be #1813
we don't want this hard-coded because mods exist.