@SneakyThrows(IOException.class)
@SideOnly(Side.CLIENT)
public static void openGui(GUIPacket packet, EntityPlayer player) {
int guiID = packet.getGuiID();
GuiProvider provider = guilist.get(guiID).template();
provider.readData(new LPDataInputStream(packet.getGuiData()));
GuiContainer screen;
try {
screen = (GuiContainer) provider.getClientGui(player);
} catch(Exception e) {
LogisticsPipes.log.error(packet.getClass().getName());
LogisticsPipes.log.error(packet.toString());
throw new RuntimeException(e);
}