SteamWar/BauSystem2.0
Archiviert
12
0

TestBlockPaste-Without-Water #146

Zusammengeführt
YoyoNow hat 25 Commits von TestBlockPaste-Without-Water nach master 2023-08-19 23:29:20 +02:00 zusammengeführt
Nur Änderungen aus Commit 4bae6b8d43 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -43,6 +43,7 @@ import com.sk89q.worldedit.session.ClipboardHolder;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockTypes;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.region.Color;
import de.steamwar.bausystem.region.PasteOptions;
import de.steamwar.bausystem.region.Point;
@ -143,8 +144,9 @@ public class FlatteningWrapper15 implements FlatteningWrapper {
changeColor(clipboard, pasteOptions.getColor());
}
Set<String> blocks = new HashSet<>();
if (pasteOptions.isOnlyColors()) {
{
blocks.add("minecraft:" + pasteOptions.getColor().name().toLowerCase() + "_wool");
blocks.add("minecraft:" + pasteOptions.getColor().name().toLowerCase() + "_terracotta");
blocks.add("minecraft:" + pasteOptions.getColor().name().toLowerCase() + "_glazed_terracotta");
@ -154,13 +156,15 @@ public class FlatteningWrapper15 implements FlatteningWrapper {
blocks.add("minecraft:" + pasteOptions.getColor().name().toLowerCase() + "_concrete_powder");
blocks.add("minecraft:" + pasteOptions.getColor().name().toLowerCase() + "_carpet");
}
e.setMask(new Mask() {
@Override
public boolean test(BlockVector3 blockVector3) {
BaseBlock block = clipboard.getFullBlock(blockVector3);
String blockName = block.toString().toLowerCase();
if (pasteOptions.isTestBlock() && blockName.equals("minecraft.water")) return true;
return blocks.contains(blockName);
if (blocks.contains(blockName) && pasteOptions.isOnlyColors()) return true;
if (pasteOptions.isTestBlock() && blockName.startsWith("minecraft:water")) return false;
return true;
}
@Nullable
@ -168,6 +172,9 @@ public class FlatteningWrapper15 implements FlatteningWrapper {
public Mask2D toMask2D() {
return null;
}
public Mask copy() {
return this;
}
});
ClipboardHolder ch = new ClipboardHolder(clipboard);
@ -182,7 +189,7 @@ public class FlatteningWrapper15 implements FlatteningWrapper {
}
if (pasteOptions.isReset()) {
e.setBlocks((Region) new CuboidRegion(toBlockVector3(pasteOptions.getMinPoint()), toBlockVector3(pasteOptions.getMaxPoint())), Objects.requireNonNull(BlockTypes.AIR).getDefaultState().toBaseBlock());
e.setBlocks(new CuboidRegion(toBlockVector3(pasteOptions.getMinPoint()), toBlockVector3(pasteOptions.getMaxPoint())), Objects.requireNonNull(BlockTypes.AIR).getDefaultState().toBaseBlock());
if (pasteOptions.getWaterLevel() != 0) {
e.setBlocks((Region) new CuboidRegion(toBlockVector3(pasteOptions.getMinPoint()), toBlockVector3(pasteOptions.getMaxPoint()).withY(pasteOptions.getWaterLevel())), Objects.requireNonNull(BlockTypes.WATER).getDefaultState().toBaseBlock());
}