Skip to content

Commit dc92f6f

Browse files
committed
Add setBiome override in MaskingExtent.
This makes biome operations respect masks set on an EditSession.
1 parent f002c03 commit dc92f6f

2 files changed

Lines changed: 5 additions & 6 deletions

File tree

worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@
3232
import com.sk89q.worldedit.extension.platform.Capability;
3333
import com.sk89q.worldedit.extension.platform.Locatable;
3434
import com.sk89q.worldedit.function.RegionFunction;
35-
import com.sk89q.worldedit.function.RegionMaskingFilter;
3635
import com.sk89q.worldedit.function.biome.BiomeReplace;
37-
import com.sk89q.worldedit.function.mask.Mask;
3836
import com.sk89q.worldedit.function.operation.Operations;
3937
import com.sk89q.worldedit.function.visitor.RegionVisitor;
4038
import com.sk89q.worldedit.math.BlockVector3;
@@ -173,7 +171,6 @@ public void setBiome(Actor actor, World world, LocalSession session, EditSession
173171
@Switch(name = 'p', desc = "Use your current position")
174172
boolean atPosition) throws WorldEditException {
175173
Region region;
176-
Mask mask = editSession.getMask();
177174

178175
if (atPosition) {
179176
if (actor instanceof Locatable) {
@@ -188,9 +185,6 @@ public void setBiome(Actor actor, World world, LocalSession session, EditSession
188185
}
189186

190187
RegionFunction replace = new BiomeReplace(editSession, target);
191-
if (mask != null) {
192-
replace = new RegionMaskingFilter(mask, replace);
193-
}
194188
RegionVisitor visitor = new RegionVisitor(region, replace);
195189
Operations.completeLegacy(visitor);
196190

worldedit-core/src/main/java/com/sk89q/worldedit/extent/MaskingExtent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.sk89q.worldedit.WorldEditException;
2323
import com.sk89q.worldedit.function.mask.Mask;
2424
import com.sk89q.worldedit.math.BlockVector3;
25+
import com.sk89q.worldedit.world.biome.BiomeType;
2526
import com.sk89q.worldedit.world.block.BlockStateHolder;
2627

2728
import static com.google.common.base.Preconditions.checkNotNull;
@@ -69,4 +70,8 @@ public <B extends BlockStateHolder<B>> boolean setBlock(BlockVector3 location, B
6970
return mask.test(location) && super.setBlock(location, block);
7071
}
7172

73+
@Override
74+
public boolean setBiome(BlockVector3 location, BiomeType biome) {
75+
return mask.test(location) && super.setBiome(location, biome);
76+
}
7277
}

0 commit comments

Comments
 (0)