# Blackstone json ## The rough implementations ```ts type PlayerLeftClickEvent { get clickBlockLocation { $( "slot": 1, "item": { "id": "g_val", "data": { "target": "Default", "type": "Event Block Location" } } )$ } } type Player { function sendMessage(thing: any) { $( ... )$ } } ``` ## Blackstone source code ```ts plot.playerEvent.leftClick(e: PlayerLeftClickEvent) { e.player.sendMessage(e.clickBlockLocation) } ``` ## JSON ```json { "id": "block", "block": "event", "args": { "items": [] }, "action": "LeftClick" }, { "id": "block", "block": "player_action", "args": { "items": [ { "slot": 26, "item": { "id": "bl_tag", "data": { "action": "SendMessage", "block": "player_action", "option": "Regular", "tag": "Alignment Mode" } } }, { "slot": 25, "item": { "id": "bl_tag", "data": { "action": "SendMessage", "block": "player_action", "option": "Add spaces", "tag": "Text Value Merging" } } }, { "slot": 0, "item": { "id": "txt", "data": { "name": "Block Location: " } } }, { "slot": 1, "item": { "id": "g_val", "data": { "target": "Default", "type": "Event Block Location" } } } ] }, "action": "SendMessage", "target": "Default" } ``` https://dfonline.dev/edit/?template=gbynccsnpkn753zj2x4dz