BloodMagic/BM_src/forestry/api/mail/IPostRegistry.java
2014-01-25 20:36:28 -05:00

48 lines
1.1 KiB
Java

package forestry.api.mail;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public interface IPostRegistry {
/* POST OFFICE */
IPostOffice getPostOffice(World world);
/* LETTERS */
boolean isLetter(ItemStack itemstack);
ILetter createLetter(MailAddress sender, MailAddress recipient);
ILetter getLetter(ItemStack itemstack);
ItemStack createLetterStack(ILetter letter);
/* CARRIERS */
/**
* Registers a new {@link IPostalCarrier}. See {@link IPostalCarrier} for details.
* @param carrier {@link IPostalCarrier} to register.
*/
void registerCarrier(IPostalCarrier carrier);
IPostalCarrier getCarrier(String uid);
Map<String, IPostalCarrier> getRegisteredCarriers();
/* TRADE STATIONS */
void deleteTradeStation(World world, String moniker);
ITradeStation getOrCreateTradeStation(World world, String owner, String moniker);
ITradeStation getTradeStation(World world, String moniker);
boolean isAvailableTradeMoniker(World world, String moniker);
boolean isValidTradeMoniker(World world, String moniker);
/* PO BOXES */
boolean isValidPOBox(World world, String username);
}