Class AbstractBuildingExtensionModule
java.lang.Object
com.minecolonies.core.colony.buildingextensions.AbstractBuildingExtensionModule
- All Implemented Interfaces:
IBuildingExtension,IModuleContainer<IBuildingExtensionModule>
- Direct Known Subclasses:
FarmField,PlantationField
Abstract implementation for building extension instances.
Contains some basic mandatory logic for building extensions.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.minecolonies.api.colony.buildingextensions.IBuildingExtension
IBuildingExtension.ExtensionId -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractBuildingExtensionModule(BuildingExtensionRegistries.BuildingExtensionEntry buildingExtensionEntry, @NotNull net.minecraft.core.BlockPos position) Constructor used in NBT deserialization. -
Method Summary
Modifier and TypeMethodDescriptionvoiddeserialize(@NotNull net.minecraft.network.FriendlyByteBuf buf) Deserialize a building extension from a buffer.voiddeserializeNBT(@NotNull net.minecraft.nbt.CompoundTag compound) Reconstruct the building extension from the given NBT data.booleanEquals implementation for this building extension.Return the building extension type for this building extension.final @Nullable net.minecraft.core.BlockPosGetter for the owning building of the building extension.@NotNull Class<IBuildingExtensionModule>Get the class type of the module container.getId()Get the unique extension id.@NotNull List<IBuildingExtensionModule>Get a list containing all modules registered to this container.final @NotNull net.minecraft.core.BlockPosGets the position of the building extension.final intgetSqDistance(IBuildingView building) Get the distance to a building.inthashCode()Hashcode implementation for this building extension.final booleanisTaken()Has the building extension been taken.voidregisterModule(@NotNull IBuildingExtensionModule module) Register a specific module to the object.final voidResets the ownership of the building extension.voidserialize(@NotNull net.minecraft.network.FriendlyByteBuf buf) Serialize a building extension to a buffer.@NotNull net.minecraft.nbt.CompoundTagStores the NBT data of the building extension.final voidsetBuilding(net.minecraft.core.BlockPos buildingId) Sets the owning building of the building extension.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.minecolonies.api.colony.buildingextensions.IBuildingExtension
isValidPlacementMethods inherited from interface com.minecolonies.api.colony.modules.IModuleContainer
getFirstModuleOccurance, getModule, getModule, getModule, getModuleMatching, getModules, getModules, getModules, getModulesByType, hasModule, hasModule, hasModule
-
Constructor Details
-
AbstractBuildingExtensionModule
protected AbstractBuildingExtensionModule(@NotNull BuildingExtensionRegistries.BuildingExtensionEntry buildingExtensionEntry, @NotNull @NotNull net.minecraft.core.BlockPos position) Constructor used in NBT deserialization.- Parameters:
buildingExtensionEntry- the type of building extension.position- the position of the building extension.
-
-
Method Details
-
getModules
Description copied from interface:IModuleContainerGet a list containing all modules registered to this container.- Specified by:
getModulesin interfaceIModuleContainer<IBuildingExtensionModule>- Returns:
- the list of all modules.
-
getClassType
Description copied from interface:IModuleContainerGet the class type of the module container.- Specified by:
getClassTypein interfaceIModuleContainer<IBuildingExtensionModule>- Returns:
- the class type.
-
registerModule
Description copied from interface:IBuildingExtensionRegister a specific module to the object.- Specified by:
registerModulein interfaceIBuildingExtension- Parameters:
module- the module to register.
-
getBuildingExtensionType
Description copied from interface:IBuildingExtensionReturn the building extension type for this building extension.- Specified by:
getBuildingExtensionTypein interfaceIBuildingExtension- Returns:
- the building extension registry entry.
-
getPosition
@NotNull public final @NotNull net.minecraft.core.BlockPos getPosition()Description copied from interface:IBuildingExtensionGets the position of the building extension.- Specified by:
getPositionin interfaceIBuildingExtension- Returns:
- central location of the building extension.
-
getBuildingId
@Nullable public final @Nullable net.minecraft.core.BlockPos getBuildingId()Description copied from interface:IBuildingExtensionGetter for the owning building of the building extension.- Specified by:
getBuildingIdin interfaceIBuildingExtension- Returns:
- the id or null.
-
setBuilding
public final void setBuilding(net.minecraft.core.BlockPos buildingId) Description copied from interface:IBuildingExtensionSets the owning building of the building extension.- Specified by:
setBuildingin interfaceIBuildingExtension- Parameters:
buildingId- id of the building.
-
resetOwningBuilding
public final void resetOwningBuilding()Description copied from interface:IBuildingExtensionResets the ownership of the building extension.- Specified by:
resetOwningBuildingin interfaceIBuildingExtension
-
isTaken
public final boolean isTaken()Description copied from interface:IBuildingExtensionHas the building extension been taken.- Specified by:
isTakenin interfaceIBuildingExtension- Returns:
- true if the building extension is not free to use, false after releasing it.
-
getSqDistance
Description copied from interface:IBuildingExtensionGet the distance to a building.- Specified by:
getSqDistancein interfaceIBuildingExtension- Parameters:
building- the building to get the distance to.- Returns:
- the distance
-
serializeNBT
@NotNull public @NotNull net.minecraft.nbt.CompoundTag serializeNBT()Description copied from interface:IBuildingExtensionStores the NBT data of the building extension.- Specified by:
serializeNBTin interfaceIBuildingExtension
-
deserializeNBT
public void deserializeNBT(@NotNull @NotNull net.minecraft.nbt.CompoundTag compound) Description copied from interface:IBuildingExtensionReconstruct the building extension from the given NBT data.- Specified by:
deserializeNBTin interfaceIBuildingExtension- Parameters:
compound- the compound to read from.
-
serialize
public void serialize(@NotNull @NotNull net.minecraft.network.FriendlyByteBuf buf) Description copied from interface:IBuildingExtensionSerialize a building extension to a buffer.- Specified by:
serializein interfaceIBuildingExtension- Parameters:
buf- the buffer to write the building extension data to.
-
deserialize
public void deserialize(@NotNull @NotNull net.minecraft.network.FriendlyByteBuf buf) Description copied from interface:IBuildingExtensionDeserialize a building extension from a buffer.- Specified by:
deserializein interfaceIBuildingExtension- Parameters:
buf- the buffer to read the building extension data from.
-
hashCode
public int hashCode()Description copied from interface:IBuildingExtensionHashcode implementation for this building extension.- Specified by:
hashCodein interfaceIBuildingExtension- Overrides:
hashCodein classObject
-
equals
Description copied from interface:IBuildingExtensionEquals implementation for this building extension.- Specified by:
equalsin interfaceIBuildingExtension- Overrides:
equalsin classObject
-
getId
Description copied from interface:IBuildingExtensionGet the unique extension id.- Specified by:
getIdin interfaceIBuildingExtension- Returns:
- the unique id.
-