79 lines
1.8 KiB
Java

package net.optifine;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
public enum BlockDir {
DOWN(EnumFacing.DOWN), UP(EnumFacing.UP), NORTH(EnumFacing.NORTH), SOUTH(EnumFacing.SOUTH), WEST(EnumFacing.WEST),
EAST(EnumFacing.EAST), NORTH_WEST(EnumFacing.NORTH, EnumFacing.WEST), NORTH_EAST(EnumFacing.NORTH, EnumFacing.EAST),
SOUTH_WEST(EnumFacing.SOUTH, EnumFacing.WEST), SOUTH_EAST(EnumFacing.SOUTH, EnumFacing.EAST),
DOWN_NORTH(EnumFacing.DOWN, EnumFacing.NORTH), DOWN_SOUTH(EnumFacing.DOWN, EnumFacing.SOUTH),
UP_NORTH(EnumFacing.UP, EnumFacing.NORTH), UP_SOUTH(EnumFacing.UP, EnumFacing.SOUTH),
DOWN_WEST(EnumFacing.DOWN, EnumFacing.WEST), DOWN_EAST(EnumFacing.DOWN, EnumFacing.EAST),
UP_WEST(EnumFacing.UP, EnumFacing.WEST), UP_EAST(EnumFacing.UP, EnumFacing.EAST);
private EnumFacing facing1;
private EnumFacing facing2;
private BlockDir(EnumFacing facing1) {
this.facing1 = facing1;
}
private BlockDir(EnumFacing facing1, EnumFacing facing2) {
this.facing1 = facing1;
this.facing2 = facing2;
}
public EnumFacing getFacing1() {
return this.facing1;
}
public EnumFacing getFacing2() {
return this.facing2;
}
BlockPos offset(BlockPos pos) {
pos = pos.offset(this.facing1, 1);
if (this.facing2 != null) {
pos = pos.offset(this.facing2, 1);
}
return pos;
}
public int getOffsetX() {
int i = this.facing1.getFrontOffsetX();
if (this.facing2 != null) {
i += this.facing2.getFrontOffsetX();
}
return i;
}
public int getOffsetY() {
int i = this.facing1.getFrontOffsetY();
if (this.facing2 != null) {
i += this.facing2.getFrontOffsetY();
}
return i;
}
public int getOffsetZ() {
int i = this.facing1.getFrontOffsetZ();
if (this.facing2 != null) {
i += this.facing2.getFrontOffsetZ();
}
return i;
}
public boolean isDouble() {
return this.facing2 != null;
}
}