@@ -12,8 +12,9 @@ export const javascriptBlocks = {
1212 return [ `{ x: ${ x || 'null' } , y: ${ y || 'null' } , z: ${ z || 'null' } }` , Order . NONE ] ;
1313 } ,
1414 lifecycle_run ( block , generator ) {
15- // Code inserted at top level
16- return generator . statementToCode ( block , 'DO' ) ;
15+ const code = generator . statementToCode ( block , 'DO' ) ;
16+
17+ return `lifecycle.on('run', async () => {\n${ code } \n});\n` ;
1718 } ,
1819 math_coordinate_value ( block , generator ) {
1920 const axis = block . getFieldValue ( 'AXIS' ) ;
@@ -24,87 +25,87 @@ export const javascriptBlocks = {
2425 agent_teleport ( block , generator ) {
2526 const position = generator . valueToCode ( block , 'POSITION' , Order . NONE ) ;
2627
27- return `agent.teleport(${ position } );\n` ;
28+ return `await agent.teleport(${ position } );\n` ;
2829 } ,
2930 agent_position ( block , generator ) {
30- return [ 'agent.getPosition()' , Order . FUNCTION_CALL ] ;
31+ return [ 'await agent.getPosition()' , Order . FUNCTION_CALL ] ;
3132 } ,
3233 agent_move ( block , generator ) {
3334 const direction = block . getFieldValue ( 'DIRECTION' ) ;
3435 const blocks = generator . valueToCode ( block , 'BLOCKS' , Order . NONE ) ;
3536
36- return `agent.move('${ direction } ', ${ blocks } );\n` ;
37+ return `await agent.move('${ direction } ', ${ blocks } );\n` ;
3738 } ,
3839 agent_turn ( block , generator ) {
3940 const direction = block . getFieldValue ( 'DIRECTION' ) ;
4041
41- return `agent.turn('${ direction } ');\n` ;
42+ return `await agent.turn('${ direction } ');\n` ;
4243 } ,
4344 agent_attack ( block , generator ) {
4445 const direction = block . getFieldValue ( 'DIRECTION' ) ;
4546
46- return `agent.attack('${ direction } ');\n` ;
47+ return `await agent.attack('${ direction } ');\n` ;
4748 } ,
4849 agent_destroy ( block , generator ) {
4950 const direction = block . getFieldValue ( 'DIRECTION' ) ;
5051
51- return `agent.destroy('${ direction } ');\n` ;
52+ return `await agent.destroy('${ direction } ');\n` ;
5253 } ,
5354 agent_drop ( block , generator ) {
5455 const amount = generator . valueToCode ( block , 'AMOUNT' , Order . NONE ) ;
5556 const slot = generator . valueToCode ( block , 'SLOT' , Order . NONE ) ;
5657 const direction = block . getFieldValue ( 'DIRECTION' ) ;
5758
58- return `agent.drop(${ slot } , ${ amount } , '${ direction } ');\n` ;
59+ return `await agent.drop(${ slot } , ${ amount } , '${ direction } ');\n` ;
5960 } ,
6061 agent_drop_all ( block , generator ) {
6162 const direction = block . getFieldValue ( 'DIRECTION' ) ;
6263
63- return `agent.drop(null, null, '${ direction } ');\n` ;
64+ return `await agent.drop(null, null, '${ direction } ');\n` ;
6465 } ,
6566 agent_build ( block , generator ) {
6667 const slot = generator . valueToCode ( block , 'SLOT' , Order . NONE ) ;
6768 const direction = block . getFieldValue ( 'DIRECTION' ) ;
6869
69- return `agent.build(${ slot } , '${ direction } ');\n` ;
70+ return `await agent.build(${ slot } , '${ direction } ');\n` ;
7071 } ,
7172 agent_till ( block , generator ) {
7273 const direction = block . getFieldValue ( 'DIRECTION' ) ;
7374
74- return `agent.till('${ direction } ');\n` ;
75+ return `await agent.till('${ direction } ');\n` ;
7576 } ,
7677 agent_collect ( block , generator ) {
77- return 'agent.collect(\'all\');\n' ;
78+ return 'await agent.collect(\'all\');\n' ;
7879 } ,
7980 agent_collect_specify ( block , generator ) {
8081 const item = generator . valueToCode ( block , 'ITEM' , Order . NONE ) ;
8182
82- return `agent.collect(${ item } );\n` ;
83+ return `await agent.collect(${ item } );\n` ;
8384 } ,
8485 agent_transfer ( block , generator ) {
8586 const amount = generator . valueToCode ( block , 'AMOUNT' , Order . NONE ) ;
8687 const fromSlot = generator . valueToCode ( block , 'FROM' , Order . NONE ) ;
8788 const toSlot = generator . valueToCode ( block , 'TO' , Order . NONE ) ;
8889
89- return `agent.transfer(${ fromSlot } , ${ amount } , ${ toSlot } );\n` ;
90+ return `await agent.transfer(${ fromSlot } , ${ amount } , ${ toSlot } );\n` ;
9091 } ,
9192 player_died ( block , generator ) {
9293 const code = generator . statementToCode ( block , 'DO' ) ;
9394
94- return `player.on('die', () => {\n${ code } \n});\n` ;
95+ return `player.on('die', async () => {\n${ code } \n});\n` ;
9596 } ,
9697 player_teleport ( block , generator ) {
9798 const position = generator . valueToCode ( block , 'POSITION' , Order . NONE ) ;
9899
99- return `player.teleport(${ position } );\n` ;
100+ return `await player.teleport(${ position } );\n` ;
100101 } ,
101102 player_position ( block , generator ) {
102- return [ 'player.getPosition()' , Order . FUNCTION_CALL ] ;
103+ return [ 'await player.getPosition()' , Order . FUNCTION_CALL ] ;
103104 } ,
104105 player_used_item ( block , generator ) {
105106 const code = generator . statementToCode ( block , 'DO' ) ;
106107
107- return `player.on('useItem', () => {\n${ code } \n});\n` ;
108+ return `player.on('useItem', async () => {\n${ code } \n});\n` ;
108109 } ,
109110 player_used_item_count ( block , generator ) {
110111 return [ 'player.itemAmountUsed' , Order . MEMBER ] ;
@@ -115,7 +116,7 @@ export const javascriptBlocks = {
115116 player_chat ( block , generator ) {
116117 const code = generator . statementToCode ( block , 'DO' ) ;
117118
118- return `player.on('chat', () => {\n${ code } \n});\n` ;
119+ return `player.on('chat', async () => {\n${ code } \n});\n` ;
119120 } ,
120121 player_chat_message ( block , generator ) {
121122 return [ 'player.message' , Order . MEMBER ] ;
0 commit comments