Class StableCavalryBuildingModule
java.lang.Object
com.minecolonies.api.colony.buildings.modules.AbstractBuildingModule
com.minecolonies.core.colony.buildings.modules.AbstractAssignedCitizenModule
com.minecolonies.core.colony.buildings.modules.WorkerBuildingModule
com.minecolonies.core.colony.buildings.modules.WorkAtHomeBuildingModule
com.minecolonies.core.colony.buildings.modules.GuardBuildingModule
com.minecolonies.core.colony.buildings.modules.StableCavalryBuildingModule
- All Implemented Interfaces:
IBuildingWorkerModule,IAssignsCitizen,IAssignsJob,IBuildingEventsModule,IBuildingModule,ICreatesResolversModule,IPersistentModule,ITickingModule,IHasDirty
Stable-specific assignment module for cavalry guards.
Barracks guard modules intentionally share a combined hiring limit across all guard jobs at the building.
Stables need different accounting: the Stablemaster has its own worker module capped at one citizen, while
cavalry should still be allowed up to the building level. This module keeps the cavalry cap local to the
cavalry assignees so a stable can employ one Stablemaster plus buildingLevel cavalry units.
-
Field Summary
Fields inherited from class com.minecolonies.core.colony.buildings.modules.AbstractAssignedCitizenModule
assignedCitizenFields inherited from class com.minecolonies.api.colony.buildings.modules.AbstractBuildingModule
building, isDirty -
Constructor Summary
ConstructorsConstructorDescriptionStableCavalryBuildingModule(GuardType type, boolean canWorkingDuringRain, Function<IBuilding, Integer> sizeLimit) Create a cavalry assignment module for the Stable. -
Method Summary
Modifier and TypeMethodDescriptionbooleanisFull()Check if we can fit additional citizens into the module.Methods inherited from class com.minecolonies.core.colony.buildings.modules.GuardBuildingModule
onColonyTickMethods inherited from class com.minecolonies.core.colony.buildings.modules.WorkAtHomeBuildingModule
assignCitizenMethods inherited from class com.minecolonies.core.colony.buildings.modules.WorkerBuildingModule
canWorkDuringTheRain, createJob, createResolvers, deserializeNBT, getJobDisplayName, getJobEntry, getModuleMax, getModuleSerializationIdentifier, getPrimarySkill, getSecondarySkill, onUpgradeComplete, serializeNBT, serializeToViewMethods inherited from class com.minecolonies.core.colony.buildings.modules.AbstractAssignedCitizenModule
getAssignedCitizen, getAssignedEntities, getFirstCitizen, getHiringMode, hasAssignedCitizen, hasAssignedCitizen, onDestroyed, removeCitizen, setHiringModeMethods inherited from class com.minecolonies.api.colony.buildings.modules.AbstractBuildingModule
checkDirty, clearDirty, getBuilding, getProducer, markDirty, setBuilding, setProducerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.minecolonies.api.colony.buildings.modules.IAssignsCitizen
getAssignedCitizen, getAssignedEntities, getHiringMode, getModuleMax, hasAssignedCitizen, removeCitizen, setHiringModeMethods inherited from interface com.minecolonies.api.colony.buildings.modules.IAssignsJob
hasAssignedCitizenMethods inherited from interface com.minecolonies.api.colony.buildings.modules.IBuildingEventsModule
onDestroyed, onPlayerEnterBuilding, onUpgradeComplete, onWakeUpMethods inherited from interface com.minecolonies.api.colony.buildings.modules.IBuildingModule
getBuilding, getProducer, serializeToView, serializeToView, setBuilding, setProducerMethods inherited from interface com.minecolonies.api.colony.buildings.IBuildingWorkerModule
canWorkDuringTheRain, createJob, getJobEntry, getPrimarySkill, getSecondarySkillMethods inherited from interface com.minecolonies.api.colony.buildings.modules.ICreatesResolversModule
createResolversMethods inherited from interface com.minecolonies.api.util.IHasDirty
checkDirty, clearDirty, markDirtyMethods inherited from interface com.minecolonies.api.colony.buildings.modules.IPersistentModule
deserializeNBT, serializeNBT
-
Constructor Details
-
StableCavalryBuildingModule
public StableCavalryBuildingModule(GuardType type, boolean canWorkingDuringRain, Function<IBuilding, Integer> sizeLimit) Create a cavalry assignment module for the Stable.- Parameters:
type- the cavalry guard type.canWorkingDuringRain- if the cavalry can work during rain.sizeLimit- function defining the cavalry limit for the building.
-
-
Method Details
-
isFull
public boolean isFull()Description copied from interface:IAssignsCitizenCheck if we can fit additional citizens into the module.- Specified by:
isFullin interfaceIAssignsCitizen- Overrides:
isFullin classGuardBuildingModule- Returns:
- true if so.
-