All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.sanctum.labyrinth.gui.unity.impl.FillerElement Maven / Gradle / Ivy

The newest version!
package com.github.sanctum.labyrinth.gui.unity.impl;

import com.github.sanctum.labyrinth.gui.unity.construct.Menu;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer;
import java.util.stream.Collectors;

public class FillerElement extends Menu.Element>> {

	private T t;
	private final InventoryElement element;

	public FillerElement(InventoryElement element) {
		this.element = element;
		this.t = null;
	}

	public  FillerElement setData(R t) {
		this.t = (T) t;
		return (FillerElement) this;
	}

	public FillerElement add(Consumer> edit) {
		for (int i : getElement().getParent().getSize().getSlots(Menu.Panel.MIDDLE)) {
			ItemElement e = new ItemElement<>(t).setType(ItemElement.ControlType.ITEM_FILLER).setParent(element).setSlot(i);
			edit.accept(e);
			addElement(e);
		}
		return this;
	}


	@Override
	public InventoryElement getElement() {
		return this.element;
	}

	@Override
	public Set> getAttachment() {
		return this.getElements().stream().filter(e -> e instanceof ItemElement).map(element1 -> (ItemElement)element1).collect(Collectors.toSet());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy