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