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 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); }