mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-10-02 08:37:35 +02:00
API Improvements on PanelItem and Flags
Their respective builders now have default values Flags get automatically registered once built Added some convenience methods
This commit is contained in:
parent
2b434bf93a
commit
1d5b0ab8dd
@ -4,6 +4,7 @@ import java.util.Optional;
|
||||
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import us.tastybento.bskyblock.BSkyBlock;
|
||||
import us.tastybento.bskyblock.api.panels.PanelItem;
|
||||
|
||||
public class Flag {
|
||||
@ -16,6 +17,7 @@ public class Flag {
|
||||
this.id = id;
|
||||
this.icon = icon;
|
||||
this.listener = listener;
|
||||
BSkyBlock.getInstance().getFlagsManager().registerFlag(this);
|
||||
}
|
||||
|
||||
public String getID() {
|
||||
|
@ -11,8 +11,8 @@ import us.tastybento.bskyblock.api.panels.builders.PanelItemBuilder;
|
||||
|
||||
public class FlagBuilder {
|
||||
|
||||
private String id;
|
||||
private PanelItem icon;
|
||||
private String id = "";
|
||||
private PanelItem icon = PanelItem.empty();
|
||||
private Optional<Listener> listener = Optional.empty();
|
||||
|
||||
public FlagBuilder id(String id) {
|
||||
|
@ -3,15 +3,21 @@ package us.tastybento.bskyblock.api.panels;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import us.tastybento.bskyblock.api.commands.User;
|
||||
import us.tastybento.bskyblock.api.panels.builders.PanelItemBuilder;
|
||||
|
||||
public class PanelItem {
|
||||
|
||||
public static PanelItem empty() {
|
||||
return new PanelItemBuilder().build();
|
||||
}
|
||||
|
||||
private ItemStack icon;
|
||||
private Optional<ClickHandler> clickHandler;
|
||||
private List<String> description;
|
||||
|
@ -1,20 +1,28 @@
|
||||
package us.tastybento.bskyblock.api.panels.builders;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import us.tastybento.bskyblock.api.panels.PanelItem;
|
||||
import us.tastybento.bskyblock.api.panels.PanelItem.ClickHandler;
|
||||
|
||||
public class PanelItemBuilder {
|
||||
private ItemStack icon;
|
||||
private String name;
|
||||
private List<String> description;
|
||||
private boolean glow;
|
||||
private ItemStack icon = new ItemStack(Material.AIR);
|
||||
private String name = "";
|
||||
private List<String> description = new ArrayList<>();
|
||||
private boolean glow = false;
|
||||
private Optional<PanelItem.ClickHandler> clickHandler = Optional.empty();
|
||||
|
||||
public PanelItemBuilder icon(Material icon) {
|
||||
this.icon = new ItemStack(icon);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PanelItemBuilder icon(ItemStack icon) {
|
||||
this.icon = icon;
|
||||
return this;
|
||||
@ -25,13 +33,18 @@ public class PanelItemBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PanelItemBuilder description(List<String> list) {
|
||||
this.description = list;
|
||||
public PanelItemBuilder description(List<String> description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PanelItemBuilder description(String description2) {
|
||||
this.description.add(description2);
|
||||
public PanelItemBuilder description(String... description) {
|
||||
Collections.addAll(this.description, description);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PanelItemBuilder description(String description) {
|
||||
this.description.add(description);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user