Interface BlockEntity
- All Superinterfaces:
CopyableDataHolder,DataHolder,DataHolder.Mutable,DataSerializable,Locatable,SerializableDataHolder,SerializableDataHolder.Mutable,ValueContainer
- All Known Subinterfaces:
Banner,Barrel,Beacon,Bed,Beehive,Bell,BlastFurnace,BrewingStand,Campfire,CarrierBlockEntity,Chest,CommandBlock,Comparator,Conduit,DaylightDetector,Dispenser,Dropper,EnchantmentTable,EnderChest,EndGateway,EndPortal,Furnace,FurnaceBlockEntity,Hopper,Jigsaw,Jukebox,Lectern,MobSpawner,NameableBlockEntity,NameableCarrierBlockEntity,Piston,SculkSensor,ShulkerBox,Sign,Skull,Smoker,StructureBlock,TrappedChest
A BlockEntity is contained within a ServerLocation and will
continue to exists so long as the ServerLocation is of the correct
block type.
Since a BlockEntity is performing various actions, all methods
that are purely functional methods reside in the BlockEntity, whereas
customizable data associated with a BlockEntity is represented by
Values.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.spongepowered.api.data.DataHolder
DataHolder.Immutable<I extends DataHolder.Immutable<I>>, DataHolder.MutableNested classes/interfaces inherited from interface org.spongepowered.api.data.SerializableDataHolder
SerializableDataHolder.Immutable<I extends SerializableDataHolder.Immutable<I>>, SerializableDataHolder.Mutable -
Method Summary
Modifier and TypeMethodDescriptionblock()Gets theBlockStatethat thisBlockEntityrepresents.copy()Creates a newBlockEntityArchetypefor use withSchematics and placing the archetype in multiple locations.Creates a newBlockEntityArchetypefor use withSchematics and placing the archetype in multiple locations.booleanisValid()Checks for whether the block entity is currently valid or not.Creates aLocatableBlockfor thisBlockEntity.default BlockEntityGets the appropriateBlockEntityfor the desiredMirror.Gets the appropriateBlockEntityfor the desiredMirror.default BlockEntityRotates thisBlockEntityfor the desiredRotation.Rotates thisBlockEntityfor the desiredRotation.voidsetValid(boolean valid) Changes the validation of this block entity.type()Gets the type ofBlockEntitythis is.Methods inherited from interface org.spongepowered.api.data.DataHolder.Mutable
copyFrom, copyFrom, offer, offer, offer, offer, offerAll, offerAll, offerAll, offerAll, offerAll, offerAll, offerSingle, offerSingle, offerSingle, offerSingle, remove, remove, remove, removeAll, removeAll, removeAll, removeAll, removeAll, removeAll, removeKey, removeKey, removeSingle, removeSingle, transform, transform, tryOffer, tryOffer, tryOffer, undoMethods inherited from interface org.spongepowered.api.data.persistence.DataSerializable
contentVersion, toContainerMethods inherited from interface org.spongepowered.api.world.Locatable
blockPosition, location, serverLocation, worldMethods inherited from interface org.spongepowered.api.data.SerializableDataHolder
validateRawDataMethods inherited from interface org.spongepowered.api.data.SerializableDataHolder.Mutable
setRawData
-
Method Details
-
isValid
boolean isValid()Checks for whether the block entity is currently valid or not.Use this method to check if processing should be run on this
BlockEntity. If it is valid, then processing can be run on it. If not, then processing should wait until it becomes valid or is destroyed.- Returns:
- True if the block entity is valid, false if not
-
setValid
void setValid(boolean valid) Changes the validation of this block entity.If the block entity is invalid, no processing will be done on this
BlockEntityuntil it either becomes valid or is reset on the next tick.If the block entity is valid, then processing can continue and this
BlockEntitywill not be reset on the next tick.- Parameters:
valid- True if the block entity should be validated, or false if it should be invalidated
-
type
BlockEntityType type()Gets the type ofBlockEntitythis is.- Returns:
- The type of block entity
-
block
BlockState block()Gets theBlockStatethat thisBlockEntityrepresents.- Returns:
- The blockstate
-
rotate
Rotates thisBlockEntityfor the desiredRotation.- Parameters:
rotation- The rotation- Returns:
- The rotated state if not this state
-
rotate
Rotates thisBlockEntityfor the desiredRotation.- Parameters:
rotation- The rotation- Returns:
- The rotated state if not this state
-
mirror
Gets the appropriateBlockEntityfor the desiredMirror.- Parameters:
mirror- The mirror- Returns:
- The mirrored BlockEntity
-
mirror
Gets the appropriateBlockEntityfor the desiredMirror.- Parameters:
mirror- The mirror- Returns:
- The mirrored BlockEntity
-
createArchetype
BlockEntityArchetype createArchetype()Creates a newBlockEntityArchetypefor use withSchematics and placing the archetype in multiple locations.- Returns:
- The created archetype for re-creating this block entity
-
locatableBlock
LocatableBlock locatableBlock()Creates aLocatableBlockfor thisBlockEntity. Can be used as a simpler method of making them. Since this does not persist the data of thisBlockEntity, it should not be used in place of aBlockSnapshotwhere data is being safely cloned.- Returns:
- The created locatable block, not as a block snapshot
-
copy
BlockEntity copy()Creates a newBlockEntityArchetypefor use withSchematics and placing the archetype in multiple locations.- Specified by:
copyin interfaceCopyableDataHolder- Specified by:
copyin interfaceSerializableDataHolder- Specified by:
copyin interfaceSerializableDataHolder.Mutable- Returns:
- The created archetype for re-creating this block entity
-