QuickShop/src/main/java/org/maxgamer/quickshop/Shop/Info.java

98 lines
2.3 KiB
Java

package org.maxgamer.quickshop.Shop;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
public class Info {
private Location loc;
private ShopAction action;
private ItemStack item;
private Block last;
private Shop shop;
/**
* Stores info for the players last shop interact.
*
* @param loc
* The location they clicked (Block.getLocation())
* @param action
* The action (ShopAction.*)
* @param material
* The material they were holding
* @param data
* The data value of the material
*/
public Info(Location loc, ShopAction action, ItemStack item, Block last) {
this.loc = loc;
this.action = action;
this.last = last;
if (item != null)
this.item = item.clone();
}
/**
* Stores info for the players last shop interact.
*
* @param loc
* The location they clicked (Block.getLocation())
* @param action
* The action (ShopAction.*)
* @param material
* The material they were holding
* @param data
* The data value of the material
* @param shop
* The shop they interacted with, or null if none
*/
public Info(Location loc, ShopAction action, ItemStack item, Block last, Shop shop) {
this.loc = loc;
this.action = action;
this.last = last;
if (item != null)
this.item = item.clone();
if (shop != null) {
this.shop = shop.clone();
}
}
public boolean hasChanged(Shop shop) {
if (this.shop.isUnlimited() != shop.isUnlimited())
return true;
if (this.shop.getShopType() != shop.getShopType())
return true;
if (!this.shop.getOwner().equals(shop.getOwner()))
return true;
if (this.shop.getPrice() != shop.getPrice())
return true;
if (!this.shop.getLocation().equals(shop.getLocation()))
return true;
if (!this.shop.matches(shop.getItem()))
return true;
return false;
}
public ShopAction getAction() {
return this.action;
}
public Location getLocation() {
return this.loc;
}
/*
* public Material getMaterial(){ return this.item.getType(); } public byte
* getData(){ return this.getData(); }
*/
public ItemStack getItem() {
return this.item;
}
public void setAction(ShopAction action) {
this.action = action;
}
public Block getSignBlock() {
return this.last;
}
}