Finish of first GUI-API
Dieser Commit ist enthalten in:
Ursprung
b205cb2216
Commit
6f430209ea
@ -4,7 +4,6 @@ import de.warking.hunjy.Core;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -15,7 +14,6 @@ import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -36,23 +34,28 @@ public class SWInventory implements Listener, Inventory {
|
||||
Bukkit.getPluginManager().registerEvents(this, Core.getInstance());
|
||||
}
|
||||
|
||||
public SWInventory(Player p, int size, String t, Map<Integer, SWItem> items){
|
||||
this(p, size, t);
|
||||
items.forEach(this::setItem);
|
||||
open();
|
||||
}
|
||||
|
||||
public void addCloseCallback(InvCallback c){
|
||||
callbacks.put(-1, c);
|
||||
}
|
||||
|
||||
public void setItem(int pos, SWItem item){
|
||||
contents[pos] = item.getItemStack();
|
||||
callbacks.put(pos, item.getCallback());
|
||||
}
|
||||
|
||||
public void setItem(int pos, Material m, String name, InvCallback c){
|
||||
setItem(pos, m, name, null, false, c);
|
||||
setItem(pos, m, name, new ArrayList<>(), false, c);
|
||||
}
|
||||
|
||||
public void setItem(int pos, Material m, String name, List<String> lore, boolean e, InvCallback c){
|
||||
contents[pos] = new ItemStack(m, 1, (short)0);
|
||||
ItemMeta im = contents[pos].getItemMeta();
|
||||
im.setDisplayName(name);
|
||||
im.setLore(lore);
|
||||
if(e)
|
||||
im.addEnchant(Enchantment.DURABILITY , 10, true);
|
||||
contents[pos].setItemMeta(im);
|
||||
callbacks.put(pos, c);
|
||||
SWItem item = new SWItem(m, name, lore, e, c);
|
||||
setItem(pos, item);
|
||||
}
|
||||
|
||||
public void open(){
|
||||
|
78
src/de/steamwar/inventory/SWItem.java
Normale Datei
78
src/de/steamwar/inventory/SWItem.java
Normale Datei
@ -0,0 +1,78 @@
|
||||
package de.steamwar.inventory;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SWItem {
|
||||
|
||||
private ItemStack itemStack;
|
||||
private ItemMeta itemMeta;
|
||||
private InvCallback callback;
|
||||
|
||||
public SWItem(){
|
||||
itemStack = new ItemStack(Material.AIR);
|
||||
itemMeta = itemStack.getItemMeta();
|
||||
}
|
||||
|
||||
public SWItem(Material material, String name, List<String> lore, boolean enchanted, InvCallback c){
|
||||
itemStack = new ItemStack(material, 1, (short)0);
|
||||
itemMeta = itemStack.getItemMeta();
|
||||
itemMeta.setDisplayName(name);
|
||||
if(lore != null && !lore.isEmpty())
|
||||
itemMeta.setLore(lore);
|
||||
if(enchanted)
|
||||
itemMeta.addEnchant(Enchantment.DURABILITY , 10, true);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
callback = c;
|
||||
}
|
||||
|
||||
public ItemStack getItemStack() {
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
public void setItemStack(ItemStack itemStack) {
|
||||
this.itemStack = itemStack;
|
||||
this.itemMeta = itemStack.getItemMeta();
|
||||
}
|
||||
|
||||
public ItemMeta getItemMeta() {
|
||||
return itemMeta;
|
||||
}
|
||||
|
||||
public void setItemMeta(ItemMeta itemMeta) {
|
||||
this.itemMeta = itemMeta;
|
||||
this.itemStack.setItemMeta(itemMeta);
|
||||
}
|
||||
|
||||
public InvCallback getCallback() {
|
||||
return callback;
|
||||
}
|
||||
|
||||
public void setCallback(InvCallback callback) {
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
public void setName(String name){
|
||||
itemMeta.setDisplayName(name);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
}
|
||||
|
||||
public void setLore(List<String> lore){
|
||||
itemMeta.setLore(lore);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
}
|
||||
|
||||
public void setEnchanted(boolean enchanted){
|
||||
if(enchanted){
|
||||
itemMeta.addEnchant(Enchantment.DURABILITY , 10, true);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
}else{
|
||||
itemMeta.removeEnchant(Enchantment.DURABILITY);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
}
|
||||
}
|
||||
}
|
In neuem Issue referenzieren
Einen Benutzer sperren