package net.glowstone.net.message.play.player; import com.flowpowered.networking.Message; import lombok.AccessLevel; import lombok.Data; import lombok.RequiredArgsConstructor; @Data @RequiredArgsConstructor(access = AccessLevel.PRIVATE) public final class CombatEventMessage implements Message { public final Event event; public final int duration; public final int entityID, playerID; public final String message; // BEGIN_COMBAT public CombatEventMessage(Event event) { this(event, 0, 0, 0, null); } // END_COMBAT public CombatEventMessage(Event event, int duration, int entityID) { this(event, duration, entityID, 0, null); } // ENTITY_DEAD public CombatEventMessage(Event event, int entityID, int playerID, String message) { this(event, 0, entityID, playerID, message); } public static enum Event { ENTER_COMBAT, END_COMBAT, ENTITY_DEAD; public static Event getAction(int id) { Event[] values = values(); return id < 0 || id >= values.length ? null : values[id]; } } }