@Override public void updateScreen() { super.updateScreen(); if (prevGas != getInputGas()) { prevGas = getInputGas(); boolean reset = false; if (prevGas == null || !(prevGas instanceof OreGas) || !((OreGas) prevGas).isClean()) { reset = true; resetStacks(); } if (!reset) { OreGas gas = (OreGas) prevGas; String oreDictName = "ore" + gas.getName().substring(5); updateStackList(oreDictName); } } if (stackSwitch > 0) { stackSwitch--; } if (stackSwitch == 0 && iterStacks != null && iterStacks.size() > 0) { stackSwitch = 20; if (stackIndex == -1 || stackIndex == iterStacks.size() - 1) { stackIndex = 0; } else if (stackIndex < iterStacks.size() - 1) { stackIndex++; } renderStack = iterStacks.get(stackIndex); } else if (iterStacks != null && iterStacks.size() == 0) { renderStack = null; } }