TheBrokenRail
624193103e
Some checks failed
ScriptCraft/pipeline/head There was a failure building this commit
1.8 KiB
1.8 KiB
Create A Block
Create Your Block Class
JavaScript:
import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlock, BuiltinRegistry } from 'minecraft';
const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block'));
class MyBlock extends CustomBlock {
constructor() {
super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor()));
}
onUse(world, blockState, blockPos, side, player, hand) {
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
return ActionResult.SUCCESS;
}
}
TypeScript:
import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock, BuiltinRegistry } from 'minecraft';
const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block'));
class MyBlock extends CustomBlock {
constructor() {
super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor()));
}
onUse(world: World, blockState: BlockState, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult {
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
return ActionResult.SUCCESS;
}
}
Register Your Block
import { Registry, Identifier } from 'minecraft';
Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlock());
Register Your Block Item
import { Registry, Identifier, BlockItem, ItemSettings } from 'minecraft';
Registry.register(Registry.ITEM, new Identifier('modid', 'my_block'), new BlockItem(new Identifier('modid', 'my_block'), new ItemSettings().setItemGroup('building_blocks')));