SteamWar/BauSystem2.0
Archiviert
12
0

Fix Panzern
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
yoyosource 2021-11-28 14:54:27 +01:00
Ursprung f845ff4523
Commit 93ad1ff2c3
3 geänderte Dateien mit 29 neuen und 11 gelöschten Zeilen

Datei anzeigen

@ -58,7 +58,7 @@ public class Panzern {
private BaseBlock blockType;
private BaseBlock slabType;
private static final BaseBlock jukeboxType = BlockTypes.JUKEBOX.getDefaultState().toBaseBlock();
private static final BaseBlock hopperType = BlockTypes.HOPPER.getDefaultState().toBaseBlock();
private static final BaseBlock cobwebType = BlockTypes.COBWEB.getDefaultState().toBaseBlock();
private static final BaseBlock airType = BlockTypes.AIR.getDefaultState().toBaseBlock();
@Getter
@ -131,8 +131,8 @@ public class Panzern {
editSession.getChangeSet().add(new BlockChange(BukkitAdapter.asBlockVector(currentBlock.getLocation()), airType, jukeboxType));
break;
case UNMOVABLE_SLAB:
currentBlock.setType(Material.HOPPER);
editSession.getChangeSet().add(new BlockChange(BukkitAdapter.asBlockVector(currentBlock.getLocation()), airType, hopperType));
currentBlock.setType(Material.COBWEB);
editSession.getChangeSet().add(new BlockChange(BukkitAdapter.asBlockVector(currentBlock.getLocation()), airType, cobwebType));
break;
default:
emptyBlocks.add(currentBlock.getLocation().toVector());

Datei anzeigen

@ -33,18 +33,27 @@ import java.util.Set;
@Linked(LinkageType.PANZERN)
public class AdjacentHoney implements PanzernAlgorithm {
private PistonLine pistonLine = new PistonLine();
@Override
public PanzernResult check(Block source, Map<BlockFace, Block> adjacent, Set<Material> adjacentMaterials) {
if (adjacentMaterials.contains(Material.HONEY_BLOCK)) {
if (adjacent.get(BlockFace.DOWN).getType() == Material.REDSTONE_WIRE) {
for (BlockFace face : HORIZONTAL_FACES) {
if (!adjacent.containsKey(face)) continue;
if (adjacent.get(face).getType() == Material.REDSTONE_WIRE) {
PanzernResult panzernResult = pistonLine.check(source, adjacent, adjacentMaterials);
if (panzernResult == PanzernResult.DEFAULT) {
return PanzernResult.UNMOVABLE_SLAB;
}
return panzernResult;
}
}
PanzernResult panzernResult = pistonLine.check(source, adjacent, adjacentMaterials);
if (panzernResult == PanzernResult.DEFAULT) {
return PanzernResult.UNMOVABLE;
}
return panzernResult;
}
return PanzernResult.DEFAULT;
}
}

Datei anzeigen

@ -33,18 +33,27 @@ import java.util.Set;
@Linked(LinkageType.PANZERN)
public class AdjacentSlime implements PanzernAlgorithm {
private PistonLine pistonLine = new PistonLine();
@Override
public PanzernResult check(Block source, Map<BlockFace, Block> adjacent, Set<Material> adjacentMaterials) {
if (adjacentMaterials.contains(Material.SLIME_BLOCK)) {
if (adjacent.get(BlockFace.DOWN).getType() == Material.REDSTONE_WIRE) {
for (BlockFace face : HORIZONTAL_FACES) {
if (!adjacent.containsKey(face)) continue;
if (adjacent.get(face).getType() == Material.REDSTONE_WIRE) {
PanzernResult panzernResult = pistonLine.check(source, adjacent, adjacentMaterials);
if (panzernResult == PanzernResult.DEFAULT) {
return PanzernResult.UNMOVABLE_SLAB;
}
return panzernResult;
}
}
PanzernResult panzernResult = pistonLine.check(source, adjacent, adjacentMaterials);
if (panzernResult == PanzernResult.DEFAULT) {
return PanzernResult.UNMOVABLE;
}
return panzernResult;
}
return PanzernResult.DEFAULT;
}
}