diff --git a/src/main/java/com/alttd/playershops/api/Shop.java b/src/main/java/com/alttd/playershops/api/Shop.java new file mode 100644 index 0000000..cb914c4 --- /dev/null +++ b/src/main/java/com/alttd/playershops/api/Shop.java @@ -0,0 +1,44 @@ +package com.alttd.playershops.api; + +import com.alttd.playershops.shop.ShopType; +import org.bukkit.Location; +import org.bukkit.inventory.ItemStack; + +import java.util.UUID; + +public interface Shop { // TODO finish docs + + String getOwnerName(); + + UUID getOwnerUUID(); + + ShopType getType(); + + Location getSignLocation(); + + Location getContainerLocation(); + + String getServer(); + + double getPrice(); + + void setPrice(double price); + + int getAmount(); + + void setAmount(int amount); + + double getBalance(); + + void setBalance(double balance); + + ItemStack getItemStack(); + + void setItemStack(ItemStack itemStack); + + ItemStack getSecondaryItem(); + + void setSecondaryItem(ItemStack itemStack); + + boolean isInitialized(); +} diff --git a/src/main/java/com/alttd/playershops/shop/AbstractShop.java b/src/main/java/com/alttd/playershops/shop/AbstractShop.java index 7c19986..8d77909 100644 --- a/src/main/java/com/alttd/playershops/shop/AbstractShop.java +++ b/src/main/java/com/alttd/playershops/shop/AbstractShop.java @@ -1,5 +1,6 @@ package com.alttd.playershops.shop; +import com.alttd.playershops.api.Shop; import lombok.Getter; import lombok.Setter; import org.bukkit.Bukkit; @@ -10,7 +11,7 @@ import org.bukkit.inventory.ItemStack; import java.util.UUID; -public abstract class AbstractShop { +public abstract class AbstractShop implements Shop { @Getter private int id; @@ -38,6 +39,8 @@ public abstract class AbstractShop { @Getter @Setter private long lastTransaction; + protected boolean initialized; + AbstractShop(Location signLocation, UUID uuid, double price, int amount) { this.signLocation = signLocation; if (signLocation != null) { @@ -67,4 +70,8 @@ public abstract class AbstractShop { } return ChatColor.RED + "[CLOSED]"; } + + public boolean isInitialized() { + return initialized; + } }