Interface IBuildingModuleContainer

All Superinterfaces:
IModuleContainer<IBuildingModule>
All Known Subinterfaces:
IBuilding, IBuildingDeliveryman, IBuildingWorker, IGuardBuilding, IMysticalSite, ITownHall, IWareHouse
All Known Implementing Classes:
AbstractBuilding, AbstractBuildingContainer, AbstractBuildingGuards, AbstractBuildingStructureBuilder, AbstractSchematicProvider, BuildingAlchemist, BuildingArchery, BuildingBaker, BuildingBarracks, BuildingBarracksTower, BuildingBeekeeper, BuildingBlacksmith, BuildingBuilder, BuildingChickenHerder, BuildingCombatAcademy, BuildingComposter, BuildingConcreteMixer, BuildingCook, BuildingCowboy, BuildingCrusher, BuildingDeliveryman, BuildingDyer, BuildingEnchanter, BuildingFarmer, BuildingFisherman, BuildingFletcher, BuildingFlorist, BuildingGateHouse, BuildingGlassblower, BuildingGraveyard, BuildingGuardTower, BuildingHospital, BuildingKitchen, BuildingLibrary, BuildingLumberjack, BuildingMechanic, BuildingMiner, BuildingMysticalSite, BuildingNetherWorker, BuildingPlantation, BuildingRabbitHutch, BuildingSawmill, BuildingSchool, BuildingShepherd, BuildingSifter, BuildingSmeltery, BuildingStable, BuildingStonemason, BuildingStoneSmeltery, BuildingSwineHerder, BuildingTownHall, BuildingUniversity, BuildingWareHouse, DefaultBuildingInstance, PostBox, Stash

public interface IBuildingModuleContainer extends IModuleContainer<IBuildingModule>
Module container for buildings.
  • Method Details

    • hasModule

      boolean hasModule(BuildingEntry.ModuleProducer<?,?> producer)
      Check if the object has a particular module.
      Parameters:
      producer - the module producer for the module
      Returns:
      true if so.
    • getModule

      <M extends IBuildingModule, V extends IBuildingModuleView> M getModule(BuildingEntry.ModuleProducer<M,V> producer)
      Get the first module with a particular class or interface.
      Returns:
      the module or empty if not existent.
    • getModule

      IBuildingModule getModule(int id)
      Get the first module with a particular class or interface.
      Returns:
      the module or empty if not existent.
    • registerModule

      void registerModule(@NotNull @NotNull IBuildingModule module)
      Register a specific module to the object.
      Parameters:
      module - the module to register.