TestBlockPaste-Without-Water #146
Keine Reviewer
Label
Kein Label
1.15
1.19
1.20
Script-API
Bug
Codeverbesserung
Einsteiger Freundlich
Idee
In Arbeit
Neues Feature
Prio A
Security Breach
Überprüfung notwendig
Verbesserung
Zu Beobachten
Kein Meilenstein
Kein Projekt
Niemand zuständig
4 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/BauSystem2.0#146
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "TestBlockPaste-Without-Water" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
@ -175,0 +159,4 @@
public boolean test(BlockVector3 blockVector3) {
BaseBlock block = clipboard.getFullBlock(blockVector3);
String blockName = block.toString().toLowerCase();
if (pasteOptions.isTestBlock() && blockName.equals("minecraft.water")) return true;
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.
Es werden immer noch keine Waterlogged-Blöcke erkannt.
Zudem: Wenn das Feature als fertig gilt, sollte man das WIP vom PR-Namen entfernen.
Hytralium muss diesen PR neu aufmachen weil ich das nur haben wollte um den diff zu sehen. Und ansonsten ist er noch nicht fertig weil genau water logged blöcke fehlen.
@ -42,10 +42,12 @@ import com.sk89q.worldedit.regions.selector.CuboidRegionSelector;
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.BlockState;
Scheint mir nicht genutzt zu sein.
@ -46,3 +47,4 @@
import de.steamwar.bausystem.region.Color;
import de.steamwar.bausystem.region.PasteOptions;
import de.steamwar.bausystem.region.Point;
import net.minecraft.server.v1_15_R1.AreaFactory;
Dieser Import bitte raus!
@ -147,0 +146,4 @@
Set<String> blocks = new HashSet<>();
{
Warum schreibst das hier immer rein und machst es nicht optional anhand von dem color flag?
@ -162,0 +169,4 @@
if (blocks.contains(blockName) && pasteOptions.isOnlyColors()) return true;
if (pasteOptions.isTestBlock()) {
if (blockName.startsWith("minecraft:water")) return false;
if (block.toString().toLowerCase().contains("waterlogged=true")) return false;
Hier vllt nicht sinnvoll das man einfach die Blöcke nicht pastet, eher dann einfach nicht waterlogged pasted.
@ -58,3 +58,3 @@
if (region == null) return;
try {
region.reset(RegionType.TESTBLOCK, regionExtensionType);
region.reset(RegionType.TESTBLOCK, regionExtensionType, true);
Hier die Daten durchzureichen ist nicht sinnvoll, da RegionType.TESTBLOCK ja doch schon sagt das es der Testblock ist.
@ -87,3 +87,3 @@
try {
region.reset(node, RegionType.TESTBLOCK, regionExtensionType);
region.reset(node, RegionType.TESTBLOCK, regionExtensionType, true);
Siehe oben
@ -68,2 +68,4 @@
*/
private final int waterLevel;
private final boolean testBlock;
Hier könntest du die ganzen
Used in 1.15
Kommentare gleich mit löschen.@ -423,3 +423,3 @@
public void reset(RegionType regionType, RegionExtensionType regionExtensionType) throws IOException {
reset(null, regionType, regionExtensionType, false);
reset(null, regionType, regionExtensionType);
Muss diese Änderung eigentlich wirklich sein?
@ -448,3 +448,3 @@
}
PasteOptions pasteOptions = new PasteOptions((schematic != null && (schematic.getSchemtype().fightType() || schematic.getSchemtype().check())), ignoreAir, getPlain(Flag.COLOR, ColorMode.class).getColor(), onlyColors, regionExtensionType == RegionExtensionType.EXTENSION, getMinPoint(regionType, regionExtensionType), getMaxPoint(regionType, regionExtensionType), waterLevel);
PasteOptions pasteOptions = new PasteOptions((schematic != null && (schematic.getSchemtype().fightType() || schematic.getSchemtype().check())), ignoreAir, getPlain(Flag.COLOR, ColorMode.class).getColor(), onlyColors, regionExtensionType == RegionExtensionType.EXTENSION, getMinPoint(regionType, regionExtensionType), getMaxPoint(regionType, regionExtensionType), waterLevel, isTestBlock);
hier dann einfach den
isTextBlock
Boolean zu einemregionType == RegionType.TESTBLOCK
ersetzten, dann brauchst du die ganzen booleans nicht.WIP: TestBlockPaste-Without-Waterzu TestBlockPaste-Without-Water