Core/src/main/java/eu/univento/core/api/gui/hologram/components/GUIComponent.java

45 lines
1.2 KiB
Java

/*
* Copyright (c) 2017 univento.eu - All rights reserved
* You are not allowed to use, distribute or modify this code
*/
package eu.univento.core.api.gui.hologram.components;
import eu.univento.core.api.Hologram;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.bukkit.entity.Player;
/**
* @author joethei
* @version 0.1
*/
@Data
@AllArgsConstructor
public abstract class GUIComponent {
protected String id;
protected String pageId;
protected ComponentPosition position;
protected String label;
protected double labelDistance;
protected boolean showLabel;
protected boolean hidden;
protected Hologram[] holograms;
public abstract PlayerGUIComponent initPlayerGUIComponent(Player player);
public abstract void updateIncrement();
public abstract String[] updateComponentLine(Player player);
public abstract double getDisplayDistance();
public abstract double getLineHeight();
public abstract GUIComponent clone();
public ComponentProperties cloneProperties() {
return new ComponentProperties(this.id, this.pageId, this.position, this.label, this.labelDistance, this.showLabel, this.hidden);
}
}