Skip to content

Commit a35b85a

Browse files
committed
foo
1 parent 8ac7902 commit a35b85a

File tree

5 files changed

+72
-29
lines changed

5 files changed

+72
-29
lines changed

generators/javascript/minecraft.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -274,24 +274,42 @@ Blockly.JavaScript['minecraft_post_to_chat'] = function(block) {
274274
Blockly.JavaScript['minecraft_turtle_yaw'] = function(block) {
275275
Blockly.JavaScript.minecraft();
276276
var dropdown_direction = block.getFieldValue('DIRECTION');
277-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
278-
var code = 'MCPI.turtleYaw('+value_angle+'*'+dropdown_direction+');\n';
277+
if (dropdown_direction == '1') {
278+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
279+
var code = 'MCPI.turtleYaw('+value_angle+');\n';
280+
}
281+
else {
282+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
283+
var code = 'MCPI.turtleYaw(-'+value_angle+');\n';
284+
}
279285
return code;
280286
};
281287

282288
Blockly.JavaScript['minecraft_turtle_pitch'] = function(block) {
283289
Blockly.JavaScript.minecraft();
284290
var dropdown_direction = block.getFieldValue('DIRECTION');
285-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
286-
var code = 'MCPI.turtlePitch('+value_angle+'*'+dropdown_direction+');\n';
291+
if (dropdown_direction == '1') {
292+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
293+
var code = 'MCPI.turtlePitch('+value_angle+');\n';
294+
}
295+
else {
296+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
297+
var code = 'MCPI.turtlePitch(-'+value_angle+');\n';
298+
}
287299
return code;
288300
};
289301

290302
Blockly.JavaScript['minecraft_turtle_roll'] = function(block) {
291303
Blockly.JavaScript.minecraft();
292304
var dropdown_direction = block.getFieldValue('DIRECTION');
293-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
294-
var code = 'MCPI.turtleRoll('+value_angle+'*'+dropdown_direction+');\n';
305+
if (dropdown_direction == '1') {
306+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
307+
var code = 'MCPI.turtleRoll('+value_angle+');\n';
308+
}
309+
else {
310+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
311+
var code = 'MCPI.turtleRoll(-'+value_angle+');\n';
312+
}
295313
return code;
296314
};
297315

generators/javascript/source/minecraft-in.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,42 @@ Blockly.JavaScript['minecraft_post_to_chat'] = function(block) {
3131
Blockly.JavaScript['minecraft_turtle_yaw'] = function(block) {
3232
Blockly.JavaScript.minecraft();
3333
var dropdown_direction = block.getFieldValue('DIRECTION');
34-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
35-
var code = 'MCPI.turtleYaw('+value_angle+'*'+dropdown_direction+');\n';
34+
if (dropdown_direction == '1') {
35+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
36+
var code = 'MCPI.turtleYaw('+value_angle+');\n';
37+
}
38+
else {
39+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
40+
var code = 'MCPI.turtleYaw(-'+value_angle+');\n';
41+
}
3642
return code;
3743
};
3844

3945
Blockly.JavaScript['minecraft_turtle_pitch'] = function(block) {
4046
Blockly.JavaScript.minecraft();
4147
var dropdown_direction = block.getFieldValue('DIRECTION');
42-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
43-
var code = 'MCPI.turtlePitch('+value_angle+'*'+dropdown_direction+');\n';
48+
if (dropdown_direction == '1') {
49+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
50+
var code = 'MCPI.turtlePitch('+value_angle+');\n';
51+
}
52+
else {
53+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
54+
var code = 'MCPI.turtlePitch(-'+value_angle+');\n';
55+
}
4456
return code;
4557
};
4658

4759
Blockly.JavaScript['minecraft_turtle_roll'] = function(block) {
4860
Blockly.JavaScript.minecraft();
4961
var dropdown_direction = block.getFieldValue('DIRECTION');
50-
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_MULTIPLICATION);
51-
var code = 'MCPI.turtleRoll('+value_angle+'*'+dropdown_direction+');\n';
62+
if (dropdown_direction == '1') {
63+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_ATOMIC);
64+
var code = 'MCPI.turtleRoll('+value_angle+');\n';
65+
}
66+
else {
67+
var value_angle = Blockly.JavaScript.valueToCode(block, 'ANGLE', Blockly.JavaScript.ORDER_UNARY_NEGATION);
68+
var code = 'MCPI.turtleRoll(-'+value_angle+');\n';
69+
}
5270
return code;
5371
};
5472

generators/python/minecraft.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
Blockly.Python.minecraft = function() {
22
Blockly.Python.definitions_['import_minecraft'] = "from mcturtle import *\n"+
3-
"MCTURTLE = Turtle()\n";
3+
"MCTURTLE = Turtle()\n"+
4+
"STARTPOS = MCTURTLE.mc.getPos()\n";
45
}
56

67
Blockly.Python['minecraft_set_block'] = function(block) {
78
Blockly.Python.minecraft();
89

910
var dropdown_block = block.getFieldValue('BLOCK');
10-
var value_x = Blockly.Python.valueToCode(block, 'x', Blockly.Python.ORDER_ATOMIC);
11-
var value_y = Blockly.Python.valueToCode(block, 'y', Blockly.Python.ORDER_ATOMIC);
12-
var value_z = Blockly.Python.valueToCode(block, 'z', Blockly.Python.ORDER_ATOMIC);
13-
var code = 'MCTURTLE.mc.world.setBlock('+value_x+','+value_y+','+value_z+',"'+dropdown_block+'")\n';
11+
var value_x = Blockly.Python.valueToCode(block, 'x', Blockly.Python.ORDER_ADDITIVE);
12+
var value_y = Blockly.Python.valueToCode(block, 'y', Blockly.Python.ORDER_ADDITIVE);
13+
var value_z = Blockly.Python.valueToCode(block, 'z', Blockly.Python.ORDER_ADDITIVE);
14+
var code = 'MCTURTLE.mc.world.setBlock('+value_x+'+STARTPOS.x,'+value_y+'+STARTPOS.y,'+value_z+'+STARTPOS.z,"'+dropdown_block+'")\n';
1415
return code;
1516
};
1617

@@ -31,38 +32,41 @@ Blockly.Python['minecraft_post_to_chat'] = function(block) {
3132
Blockly.Python['minecraft_turtle_yaw'] = function(block) {
3233
Blockly.Python.minecraft();
3334
var dropdown_direction = block.getFieldValue('DIRECTION');
34-
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
3535
if (dropdown_direction == '1') {
36+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
3637
var code = 'MCTURTLE.yaw('+value_angle+')\n';
3738
}
3839
else {
39-
var code = 'MCTURTLE.yaw(-('+value_angle+'))\n';
40+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_UNARY_SIGN);
41+
var code = 'MCTURTLE.yaw(-'+value_angle+')\n';
4042
}
4143
return code;
4244
};
4345

4446
Blockly.Python['minecraft_turtle_pitch'] = function(block) {
4547
Blockly.Python.minecraft();
4648
var dropdown_direction = block.getFieldValue('DIRECTION');
47-
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
4849
if (dropdown_direction == '1') {
49-
var code = 'MCTURTLE.pitch('+value_angle+')\n';
50+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
51+
var code = 'MCTURTLE.pitch'+value_angle+')\n';
5052
}
5153
else {
52-
var code = 'MCTURTLE.pitch(-('+value_angle+'))\n';
54+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_UNARY_SIGN);
55+
var code = 'MCTURTLE.pitch(-'+value_angle+')\n';
5356
}
5457
return code;
5558
};
5659

5760
Blockly.Python['minecraft_turtle_roll'] = function(block) {
5861
Blockly.Python.minecraft();
5962
var dropdown_direction = block.getFieldValue('DIRECTION');
60-
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
6163
if (dropdown_direction == '1') {
64+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_ATOMIC);
6265
var code = 'MCTURTLE.roll('+value_angle+')\n';
6366
}
6467
else {
65-
var code = 'MCTURTLE.roll(-('+value_angle+'))\n';
68+
var value_angle = Blockly.Python.valueToCode(block, 'ANGLE', Blockly.Python.ORDER_UNARY_SIGN);
69+
var code = 'MCTURTLE.roll(-'+value_angle+')\n';
6670
}
6771
return code;
6872
};

javascript_compressed.js

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

python_compressed.js

Lines changed: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)