Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-09-06 08:02:50 +02:00
Ursprung
fa69c79160
Commit
b18c646bce
@ -36,6 +36,7 @@ import com.sk89q.worldedit.entity.Player;
|
|||||||
import com.sk89q.worldedit.extension.platform.Actor;
|
import com.sk89q.worldedit.extension.platform.Actor;
|
||||||
import com.sk89q.worldedit.function.GroundFunction;
|
import com.sk89q.worldedit.function.GroundFunction;
|
||||||
import com.sk89q.worldedit.function.generator.FloraGenerator;
|
import com.sk89q.worldedit.function.generator.FloraGenerator;
|
||||||
|
import com.sk89q.worldedit.function.mask.AbstractExtentMask;
|
||||||
import com.sk89q.worldedit.function.mask.ExistingBlockMask;
|
import com.sk89q.worldedit.function.mask.ExistingBlockMask;
|
||||||
import com.sk89q.worldedit.function.mask.Mask;
|
import com.sk89q.worldedit.function.mask.Mask;
|
||||||
import com.sk89q.worldedit.function.mask.MaskIntersection;
|
import com.sk89q.worldedit.function.mask.MaskIntersection;
|
||||||
@ -300,6 +301,9 @@ public class RegionCommands {
|
|||||||
if (from == null) {
|
if (from == null) {
|
||||||
from = new ExistingBlockMask(editSession);
|
from = new ExistingBlockMask(editSession);
|
||||||
}
|
}
|
||||||
|
if (from instanceof AbstractExtentMask) {
|
||||||
|
((AbstractExtentMask) from).setExtent(editSession);
|
||||||
|
}
|
||||||
int affected = editSession.replaceBlocks(region, from, to);
|
int affected = editSession.replaceBlocks(region, from, to);
|
||||||
actor.printInfo(TranslatableComponent.of("worldedit.replace.replaced", TextComponent.of(affected)));
|
actor.printInfo(TranslatableComponent.of("worldedit.replace.replaced", TextComponent.of(affected)));
|
||||||
return affected;
|
return affected;
|
||||||
|
@ -34,9 +34,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||||||
/**
|
/**
|
||||||
* Tests true if the biome at applied points is the same as the one given.
|
* Tests true if the biome at applied points is the same as the one given.
|
||||||
*/
|
*/
|
||||||
public class BiomeMask extends AbstractMask {
|
public class BiomeMask extends AbstractExtentMask {
|
||||||
|
|
||||||
private final Extent extent;
|
|
||||||
private final Set<BiomeType> biomes = new HashSet<>();
|
private final Set<BiomeType> biomes = new HashSet<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,9 +45,8 @@ public class BiomeMask extends AbstractMask {
|
|||||||
* @param biomes a list of biomes to match
|
* @param biomes a list of biomes to match
|
||||||
*/
|
*/
|
||||||
public BiomeMask(Extent extent, Collection<BiomeType> biomes) {
|
public BiomeMask(Extent extent, Collection<BiomeType> biomes) {
|
||||||
checkNotNull(extent);
|
super(extent);
|
||||||
checkNotNull(biomes);
|
checkNotNull(biomes);
|
||||||
this.extent = extent;
|
|
||||||
this.biomes.addAll(biomes);
|
this.biomes.addAll(biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,7 +90,7 @@ public class BiomeMask extends AbstractMask {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean test(BlockVector3 vector) {
|
public boolean test(BlockVector3 vector) {
|
||||||
BiomeType biome = extent.getBiome(vector);
|
BiomeType biome = getExtent().getBiome(vector);
|
||||||
return biomes.contains(biome);
|
return biomes.contains(biome);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +102,12 @@ public class BiomeMask extends AbstractMask {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mask copy() {
|
public Mask copy() {
|
||||||
return new BiomeMask(extent, new HashSet<>(biomes));
|
return new BiomeMask(getExtent(), new HashSet<>(biomes));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean test(Extent extent, BlockVector3 position) {
|
||||||
|
BiomeType biome = getExtent().getBiome(position);
|
||||||
|
return biomes.contains(biome);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren