// Path: src/main/java/openperipheral/addons/utils/GuiUtils.java
// public static enum GuiElements {
// 	OVERLAY,
// 	PORTAL,
// 	HOTBAR,
// 	CROSSHAIRS,
// 	BOSS_HEALTH,
// 	HEALTH,
// 	ARMOR,
// 	FOOD,
// 	MOUNT_HEALTH,
// 	AIR,
// 	EXPERIENCE,
// 	JUMP_BAR,
// 	OBJECTIVES;
// }


import java.util.Map;
import openmods.network.event.EventDirection;
import openmods.network.event.NetworkEventMeta;
import openmods.network.event.SerializableNetworkEvent;
import openmods.serializable.cls.Serialize;
import openperipheral.addons.utils.GuiUtils.GuiElements;
import openperipheral.api.architecture.IArchitecture;

		public GlassesSetKeyRepeatEvent(long guid, boolean repeat) {
			super(guid);
			this.repeat = repeat;
		}
	}

	@NetworkEventMeta(direction = EventDirection.S2C)
	public static class GlassesSetDragParamsEvent extends GlassesEvent {

		@Serialize
		public int period;

		@Serialize
		public int threshold;

		public GlassesSetDragParamsEvent(long guid, int period, int threshold) {
			super(guid);
			this.period = period;
			this.threshold = threshold;
		}

	}

	@NetworkEventMeta(direction = EventDirection.S2C)
	public static class GlassesSetGuiVisibilityEvent extends GlassesEvent {

		@Serialize
		public Map<GuiElements, Boolean> visibility;

// Path: src/main/java/openperipheral/addons/utils/GuiUtils.java
// public static enum GuiElements {
// 	OVERLAY,
// 	PORTAL,
// 	HOTBAR,
// 	CROSSHAIRS,
// 	BOSS_HEALTH,
// 	HEALTH,
// 	ARMOR,
// 	FOOD,
// 	MOUNT_HEALTH,
// 	AIR,
// 	EXPERIENCE,
// 	JUMP_BAR,
// 	OBJECTIVES;
// }


// Path: src/main/java/openperipheral/addons/glasses/GlassesEvent.java
import java.util.Map;
import openmods.network.event.EventDirection;
import openmods.network.event.NetworkEventMeta;
import openmods.network.event.SerializableNetworkEvent;
import openmods.serializable.cls.Serialize;
import openperipheral.addons.utils.GuiUtils.GuiElements;
import openperipheral.api.architecture.IArchitecture;


		public GlassesSetKeyRepeatEvent(long guid, boolean repeat) {
			super(guid);
			this.repeat = repeat;
		}
	}

	@NetworkEventMeta(direction = EventDirection.S2C)
	public static class GlassesSetDragParamsEvent extends GlassesEvent {

		@Serialize
		public int period;

		@Serialize
		public int threshold;

		public GlassesSetDragParamsEvent(long guid, int period, int threshold) {
			super(guid);
			this.period = period;
			this.threshold = threshold;
		}

	}

	@NetworkEventMeta(direction = EventDirection.S2C)
	public static class GlassesSetGuiVisibilityEvent extends GlassesEvent {

		@Serialize
		public Map<GuiElements, Boolean> visibility;

		public GlassesSetGuiVisibilityEvent(long guid, Map<GuiElements, Boolean> visibility) {