Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
Ursprung
f845ff4523
Commit
93ad1ff2c3
@ -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());
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren