package crazypants.enderio.conduit; import crazypants.enderio.EnderIO; public enum ConnectionMode { IN_OUT("gui.conduit.ioMode.inOut"), INPUT("gui.conduit.ioMode.input"), OUTPUT("gui.conduit.ioMode.output"), DISABLED("gui.conduit.ioMode.disabled"), NOT_SET("gui.conduit.ioMode.notSet"); private final String unlocalisedName; ConnectionMode(String unlocalisedName) { this.unlocalisedName = unlocalisedName; } public String getUnlocalisedName() { return unlocalisedName; } public static ConnectionMode getNext(ConnectionMode mode) { int ord = mode.ordinal() + 1; if(ord >= ConnectionMode.values().length) { ord = 0; } return ConnectionMode.values()[ord]; } public static ConnectionMode getPrevious(ConnectionMode mode) { int ord = mode.ordinal() - 1; if(ord < 0) { ord = ConnectionMode.values().length - 1; } return ConnectionMode.values()[ord]; } public boolean acceptsInput() { return this == IN_OUT || this == INPUT; } public boolean acceptsOutput() { return this == IN_OUT || this == OUTPUT; } public String getLocalisedName() { return EnderIO.lang.localize(unlocalisedName); } }