Class: BlockSignComponent
Represents a block that can display text on it.
Examples
// A function the creates a sign at the specified location with text on both sides and dye colors
import {
DimensionLocation,
BlockPermutation,
BlockSignComponent,
BlockComponentTypes,
DyeColor,
SignSide,
} from '@minecraft/server';
import { MinecraftBlockTypes } from '@minecraft/vanilla-data';
function createSignAt(location: DimensionLocation) {
const block = location.dimension.getBlock(location);
if (!block) {
console.warn('Could not find a block at specified location.');
return;
}
const signPerm = BlockPermutation.resolve(MinecraftBlockTypes.StandingSign, {
ground_sign_direction: 8,
});
block.setPermutation(signPerm);
const sign = block.getComponent(BlockComponentTypes.Sign);
if (sign !== undefined) {
sign.setText(`Party Sign!\nThis is green on the front.`);
sign.setText(`Party Sign!\nThis is red on the back.`, SignSide.Back);
sign.setTextDyeColor(DyeColor.Green);
sign.setTextDyeColor(DyeColor.Red, SignSide.Back);
// players cannot edit sign!
sign.setWaxed(true);
} else {
console.warn('Could not find a sign component on the block.');
}
}
import {
BlockComponentTypes,
DimensionLocation,
RawMessage,
RawText,
} from '@minecraft/server';
// Function which updates a sign blocks text to raw text
function updateSignText(signLocation: DimensionLocation) {
const block = signLocation.dimension.getBlock(signLocation);
if (!block) {
console.warn('Could not find a block at specified location.');
return;
}
const sign = block.getComponent(BlockComponentTypes.Sign);
if (sign) {
// RawMessage
const helloWorldMessage: RawMessage = { text: 'Hello World' };
sign.setText(helloWorldMessage);
// RawText
const helloWorldText: RawText = { rawtext: [{ text: 'Hello World' }] };
sign.setText(helloWorldText);
// Regular string
sign.setText('Hello World');
} else {
console.warn('Could not find a sign component on the block.');
}
}
// A function the creates a sign at the specified location with the specified text
import { DimensionLocation, BlockPermutation, BlockComponentTypes } from '@minecraft/server';
import { MinecraftBlockTypes } from '@minecraft/vanilla-data';
function createSignAt(location: DimensionLocation) {
const signBlock = location.dimension.getBlock(location);
if (!signBlock) {
console.warn('Could not find a block at specified location.');
return;
}
const signPerm = BlockPermutation.resolve(MinecraftBlockTypes.StandingSign, { ground_sign_direction: 8 });
signBlock.setPermutation(signPerm); // Update block to be a sign
// Update the sign block's text
// with "Steve's Head"
const signComponent = signBlock.getComponent(BlockComponentTypes.Sign);
if (signComponent) {
signComponent.setText({ translate: 'item.skull.player.name', with: ['Steve'] });
}
}
Extends
Constructors
new BlockSignComponent()
private
new BlockSignComponent():BlockSignComponent
Returns
Overrides
Properties
block
readonly
block:Block
Remarks
Block instance that this component pertains to.
Inherited from
isWaxed
readonly
isWaxed:boolean
Remarks
Whether or not players can edit the sign. This happens if a
sign has had a honeycomb used on it or setWaxed
was called
on the sign.
Throws
This property can throw when used.
typeId
readonly
typeId:string
Remarks
Identifier of the component.