package mods.eln.misc;
public class LRDUCubeMask {
public LRDUMask[] lrduMaskArray = new LRDUMask[6];
public LRDUCubeMask() {
for (int idx = 0; idx < 6; idx++) {
lrduMaskArray[idx] = new LRDUMask();
}
}
LRDUMask getSide(Direction direction) {
return lrduMaskArray[direction.getInt()];
}
public void clear() {
for (LRDUMask lrduMask : lrduMaskArray) {
lrduMask.set(0);
}
}
public void set(Direction direction, LRDU lrdu, boolean value) {
get(direction).set(lrdu, value);
}
public boolean get(Direction direction, LRDU lrdu) {
return get(direction).get(lrdu);
}
public LRDUMask get(Direction direction) {
return lrduMaskArray[direction.getInt()];
}
public LRDUMask getTranslate(Direction side) {
LRDUMask mask = new LRDUMask();
for (LRDU lrdu : LRDU.values()) {
Direction otherSide = side.applyLRDU(lrdu);
LRDU otherLrdu = otherSide.getLRDUGoingTo(side);
mask.set(lrdu, this.get(otherSide, otherLrdu));
}
return mask;
}
}