45 lines
1.2 KiB
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);
|
|
}
|
|
} |