
ru.cwcode.tkach.refreshmenu.inventory.view.ArtExtendedView Maven / Gradle / Ivy
package ru.cwcode.tkach.refreshmenu.inventory.view;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent;
import ru.cwcode.tkach.refreshmenu.inventory.ingredient.ArtIngredient;
import ru.cwcode.tkach.refreshmenu.inventory.ingredient.Ingredient;
import ru.cwcode.tkach.refreshmenu.inventory.view.drawer.ArtExtendedViewDrawer;
import ru.cwcode.tkach.refreshmenu.inventory.view.drawer.PagedViewDrawer;
import java.util.Collection;
import java.util.HashMap;
import java.util.Optional;
import java.util.function.Consumer;
public class ArtExtendedView extends ExtendedView {
private final HashMap arts = new HashMap<>();
public void setArts(Collection arts) {
this.arts.clear();
for (ART art : arts) {
this.arts.put(art.getChar(), art);
}
}
public void bindArts(ClickType clickType, Runnable runnable) {
for (ArtIngredient art : this.arts.values()) {
this.getBehavior().bind(art.getChar(), clickType, runnable);
}
}
public void bindArts(ClickType clickType, Consumer consumer) {
for (ArtIngredient art : this.arts.values()) {
this.getBehavior().bind(art.getChar(), clickType, consumer);
}
}
public HashMap getArts() {
return arts;
}
@Override
protected void initializeDrawer() {
drawer = new ArtExtendedViewDrawer();
}
@Override
public ArtExtendedViewDrawer getDrawer() {
return (ArtExtendedViewDrawer) drawer;
}
protected Optional getArt(int slot) {
return shape.findCharAtIndex(slot).map(this.arts::get);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy