Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / EnumBlockMirror.java
package net.minecraft.server;

public enum EnumBlockMirror {

    NONE, LEFT_RIGHT, FRONT_BACK;

    private EnumBlockMirror() {}

    public int a(int i, int j) {
        int k = j / 2;
        int l = i > k ? i - j : i;

        switch (this) {
            case FRONT_BACK:
                return (j - l) % j;
            case LEFT_RIGHT:
                return (k - l + j) % j;
            default:
                return i;
        }
    }

    public EnumBlockRotation a(EnumDirection enumdirection) {
        EnumDirection.EnumAxis enumdirection_enumaxis = enumdirection.m();

        return (this != EnumBlockMirror.LEFT_RIGHT || enumdirection_enumaxis != EnumDirection.EnumAxis.Z) && (this != EnumBlockMirror.FRONT_BACK || enumdirection_enumaxis != EnumDirection.EnumAxis.X) ? EnumBlockRotation.NONE : EnumBlockRotation.CLOCKWISE_180;
    }

    public EnumDirection b(EnumDirection enumdirection) {
        return this == EnumBlockMirror.FRONT_BACK && enumdirection.m() == EnumDirection.EnumAxis.X ? enumdirection.opposite() : (this == EnumBlockMirror.LEFT_RIGHT && enumdirection.m() == EnumDirection.EnumAxis.Z ? enumdirection.opposite() : enumdirection);
    }
}