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;
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Scheint mir nicht genutzt zu sein.

Scheint mir nicht genutzt zu sein.
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()) {
{
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Warum schreibst das hier immer rein und machst es nicht optional anhand von dem color flag?

Warum schreibst das hier immer rein und machst es nicht optional anhand von dem color flag?
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) {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Waterlogged-Blöcke werden ebenso Probleme machen. Da könnte man auf ein contains waterlogged=true machen oder ggf. statt über Strings auch direkt über die WorldEdit-Materials/-Blocks, aber das wäre ein größerer Umbau.

Waterlogged-Blöcke werden ebenso Probleme machen. Da könnte man auf ein contains waterlogged=true machen oder ggf. statt über Strings auch direkt über die WorldEdit-Materials/-Blocks, aber das wäre ein größerer Umbau.
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() {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier vllt nicht sinnvoll das man einfach die Blöcke nicht pastet, eher dann einfach nicht waterlogged pasted.

Hier vllt nicht sinnvoll das man einfach die Blöcke nicht pastet, eher dann einfach nicht waterlogged pasted.
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());
}