package joshie.harvest.plugins.crafttweaker.wrappers; import joshie.harvest.api.shops.IPurchasable; import joshie.harvest.api.shops.IRequirement; import joshie.harvest.shops.purchasable.PurchasableMaterials; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nonnull; import java.util.List; public class PurchasableWrapperMaterials extends PurchasableMaterials { public IPurchasable original; public PurchasableWrapperMaterials(PurchasableMaterials purchasable, int wood, int stone, long cost) { super(cost, wood, stone, null); this.original = purchasable; } public PurchasableWrapperMaterials(IPurchasable purchasable, long cost, IRequirement... requirements) { super(cost, null, requirements); this.original = purchasable; } @Override public int getStock() { return original.getStock(); } @Override public boolean canDo(@Nonnull World world, @Nonnull EntityPlayer player, int amount) { return original.canDo(world, player, amount); } @Override public boolean canList(@Nonnull World world, @Nonnull EntityPlayer player) { return original.canList(world, player); } @Override public ItemStack getDisplayStack() { return original.getDisplayStack(); } @Override public void onPurchased(EntityPlayer player) { original.onPurchased(player); } @Override public boolean isPurchasable(World world, EntityPlayer player) { return !(original instanceof PurchasableMaterials) || ((PurchasableMaterials)original).isPurchasable(world, player); } @Override public String getDisplayName() { return original.getDisplayName(); } @SideOnly(Side.CLIENT) @Override public void addTooltip(List<String> list) { original.addTooltip(list); } @Override public String getPurchaseableID() { return original.getPurchaseableID(); } }