PocketMine-MP 5.14.2 git-50e2c469a547a16a23b2dc691e70a51d34e29395
pocketmine\block\tile\Sign Class Reference
+ Inheritance diagram for pocketmine\block\tile\Sign:
+ Collaboration diagram for pocketmine\block\tile\Sign:

Public Member Functions

 __construct (World $world, Vector3 $pos)
 clearSpawnCompoundCache ()
 close ()
 copyDataFromItem (Item $item)
 getBlock ()
 getCleanedNBT ()
 getEditorEntityRuntimeId ()
 getPosition ()
 getRenderUpdateBugWorkaroundStateProperties (Block $block)
 getSerializedSpawnCompound ()
 getSpawnCompound ()
 getText ()
 isClosed ()
 isDirty ()
 isWaxed ()
 onBlockDestroyed ()
 readSaveData (CompoundTag $nbt)
 saveNBT ()
 setDirty (bool $dirty=true)
 setEditorEntityRuntimeId (?int $editorEntityRuntimeId)
 setText (SignText $text)
 setWaxed (bool $waxed)

Static Public Member Functions

static fixTextBlob (string $blob)

Public Attributes

bool $closed = false
const TAG_BACK_TEXT = "BackText"
const TAG_FRONT_TEXT = "FrontText"
const TAG_GLOWING_TEXT = "IgnoreLighting"
const TAG_ID = "id"
const TAG_LEGACY_BUG_RESOLVE = "TextIgnoreLegacyBugResolved"
const TAG_LOCKED_FOR_EDITING_BY = "LockedForEditingBy"
const TAG_PERSIST_FORMATTING = "PersistFormatting"
const TAG_TEXT_BLOB = "Text"
const TAG_TEXT_COLOR = "SignTextColor"
const TAG_TEXT_LINE = "Text%d"
const TAG_WAXED = "IsWaxed"
const TAG_X = "x"
const TAG_Y = "y"
const TAG_Z = "z"

Protected Member Functions

 addAdditionalSpawnData (CompoundTag $nbt)
 onBlockDestroyedHook ()
 writeSaveData (CompoundTag $nbt)

Protected Attributes

int $editorEntityRuntimeId = null
Position $position
SignText $text
TimingsHandler $timings

Detailed Description

See also

Definition at line 46 of file Sign.php.

Constructor & Destructor Documentation

◆ __construct()

pocketmine\block\tile\Sign::__construct ( World  $world,
Vector3  $pos 

Reimplemented from pocketmine\block\tile\Tile.

Definition at line 75 of file Sign.php.

Member Function Documentation

◆ addAdditionalSpawnData()

pocketmine\block\tile\Sign::addAdditionalSpawnData ( CompoundTag  $nbt)

An extension to getSpawnCompound() for further modifying the generic tile NBT.

Reimplemented from pocketmine\block\tile\Spawnable.

Definition at line 162 of file Sign.php.

◆ clearSpawnCompoundCache()

pocketmine\block\tile\Spawnable::clearSpawnCompoundCache ( )

Definition at line 52 of file Spawnable.php.

◆ close()

pocketmine\block\tile\Tile::close ( )

Definition at line 129 of file Tile.php.

◆ copyDataFromItem()

pocketmine\block\tile\Tile::copyDataFromItem ( Item  $item)

Definition at line 92 of file Tile.php.

◆ fixTextBlob()

static pocketmine\block\tile\Sign::fixTextBlob ( string  $blob)

Definition at line 66 of file Sign.php.

◆ getBlock()

pocketmine\block\tile\Tile::getBlock ( )

Definition at line 98 of file Tile.php.

◆ getCleanedNBT()

pocketmine\block\tile\Tile::getCleanedNBT ( )

Definition at line 82 of file Tile.php.

◆ getEditorEntityRuntimeId()

pocketmine\block\tile\Sign::getEditorEntityRuntimeId ( )

Returns the entity runtime ID of the player who placed this sign. Only the player whose entity ID matches this one may edit the sign text. This is needed because as of 1.16.220, there is still no reliable way to detect when the MCPE client closed the sign edit GUI, so we have no way to know when the text is finalized. This limits editing of the text to only the player who placed it, and only while that player is online. We can say for sure that the sign is finalized if either of the following occurs:

  • The player quits (after rejoin, the player's entity runtimeID will be different).
  • The chunk is unloaded (on next load, the entity runtimeID will be null, because it's not saved).

Definition at line 156 of file Sign.php.

◆ getPosition()

pocketmine\block\tile\Tile::getPosition ( )

Definition at line 102 of file Tile.php.

◆ getRenderUpdateBugWorkaroundStateProperties()

pocketmine\block\tile\Spawnable::getRenderUpdateBugWorkaroundStateProperties ( Block  $block)

The Bedrock client won't re-render a block if the block's state properties didn't change. This is a problem when the tile may affect the block's appearance. For example, a cauldron's liquid changes colour based on the dye inside.

This is worked around in vanilla by modifying one of the block's state properties to a different value, and then changing it back again. Since we don't want to litter core implementation with hacks like this, we brush it under the rug into Tile.

ByteTag[]|IntTag[]|StringTag[] @phpstan-return array<string, IntTag|StringTag|ByteTag>

Reimplemented in pocketmine\block\tile\Cauldron, and pocketmine\block\tile\FlowerPot.

Definition at line 68 of file Spawnable.php.

◆ getSerializedSpawnCompound()

pocketmine\block\tile\Spawnable::getSerializedSpawnCompound ( )

Returns encoded NBT (varint, little-endian) used to spawn this tile to clients. Uses cache where possible, populates cache if it is null.

@phpstan-return CacheableNbt<\pocketmine\nbt\tag\CompoundTag>

Definition at line 78 of file Spawnable.php.

◆ getSpawnCompound()

pocketmine\block\tile\Spawnable::getSpawnCompound ( )

Definition at line 86 of file Spawnable.php.

◆ getText()

pocketmine\block\tile\Sign::getText ( )

Definition at line 134 of file Sign.php.

◆ isClosed()

pocketmine\block\tile\Tile::isClosed ( )

Definition at line 106 of file Tile.php.

◆ isDirty()

pocketmine\block\tile\Spawnable::isDirty ( )

Definition at line 41 of file Spawnable.php.

◆ isWaxed()

pocketmine\block\tile\Sign::isWaxed ( )

Definition at line 142 of file Sign.php.

◆ onBlockDestroyed()

pocketmine\block\tile\Tile::onBlockDestroyed ( )

Called when the tile's block is destroyed.

Definition at line 117 of file Tile.php.

References pocketmine\block\tile\onBlockDestroyedHook().

+ Here is the call graph for this function:

◆ onBlockDestroyedHook()

pocketmine\block\tile\Tile::onBlockDestroyedHook ( )

Override this method to do actions you need to do when this tile is destroyed due to block being broken.

Reimplemented in pocketmine\block\tile\Chest, pocketmine\block\tile\Jukebox, and pocketmine\block\tile\ShulkerBox.

Definition at line 125 of file Tile.php.

◆ readSaveData()

pocketmine\block\tile\Sign::readSaveData ( CompoundTag  $nbt)

Reimplemented from pocketmine\block\tile\Tile.

Definition at line 94 of file Sign.php.

◆ saveNBT()

pocketmine\block\tile\Tile::saveNBT ( )

Definition at line 70 of file Tile.php.

◆ setDirty()

pocketmine\block\tile\Spawnable::setDirty ( bool  $dirty = true)

Definition at line 48 of file Spawnable.php.

◆ setEditorEntityRuntimeId()

pocketmine\block\tile\Sign::setEditorEntityRuntimeId ( ?int  $editorEntityRuntimeId)

Definition at line 158 of file Sign.php.

◆ setText()

pocketmine\block\tile\Sign::setText ( SignText  $text)

Definition at line 138 of file Sign.php.

◆ setWaxed()

pocketmine\block\tile\Sign::setWaxed ( bool  $waxed)

Definition at line 144 of file Sign.php.

◆ writeSaveData()

pocketmine\block\tile\Sign::writeSaveData ( CompoundTag  $nbt)

Writes additional save data to a CompoundTag, not including generic things like ID and coordinates.

Reimplemented from pocketmine\block\tile\Tile.

Definition at line 117 of file Sign.php.

Member Data Documentation

◆ $closed

bool pocketmine\block\tile\Tile::$closed = false

Definition at line 50 of file Tile.php.

◆ $editorEntityRuntimeId

int pocketmine\block\tile\Sign::$editorEntityRuntimeId = null

Definition at line 73 of file Sign.php.

◆ $position

Position pocketmine\block\tile\Tile::$position

Definition at line 49 of file Tile.php.

◆ $text

SignText pocketmine\block\tile\Sign::$text

Definition at line 70 of file Sign.php.

◆ $timings

TimingsHandler pocketmine\block\tile\Tile::$timings

Definition at line 51 of file Tile.php.


const pocketmine\block\tile\Sign::TAG_BACK_TEXT = "BackText"

Definition at line 59 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_FRONT_TEXT = "FrontText"

Definition at line 58 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_GLOWING_TEXT = "IgnoreLighting"

Definition at line 50 of file Sign.php.


const pocketmine\block\tile\Tile::TAG_ID = "id"

Definition at line 44 of file Tile.php.


const pocketmine\block\tile\Sign::TAG_LEGACY_BUG_RESOLVE = "TextIgnoreLegacyBugResolved"

This tag is set to indicate that MCPE-117835 has been addressed in whatever version this sign was created.

See also

Definition at line 56 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_LOCKED_FOR_EDITING_BY = "LockedForEditingBy"

Definition at line 61 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_PERSIST_FORMATTING = "PersistFormatting"

Definition at line 51 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_TEXT_BLOB = "Text"

Definition at line 47 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_TEXT_COLOR = "SignTextColor"

Definition at line 49 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_TEXT_LINE = "Text%d"

Definition at line 48 of file Sign.php.


const pocketmine\block\tile\Sign::TAG_WAXED = "IsWaxed"

Definition at line 60 of file Sign.php.


const pocketmine\block\tile\Tile::TAG_X = "x"

Definition at line 45 of file Tile.php.


const pocketmine\block\tile\Tile::TAG_Y = "y"

Definition at line 46 of file Tile.php.


const pocketmine\block\tile\Tile::TAG_Z = "z"

Definition at line 47 of file Tile.php.

The documentation for this class was generated from the following file: