-
Notifications
You must be signed in to change notification settings - Fork 0
/
_history
1 lines (1 loc) · 33.8 KB
/
_history
1
{"entries":[{"timestamp":1701472354935,"editorVersion":"1.7.25","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"iables><"],[1,"block type=\"minecraftOnChat\" x=\"0\" y=\"0\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">boo</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createSpookyStable\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"0\" y=\"140\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">moo</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createMooshroomMeadow\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"1\" y=\"281\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">stride</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createStriderShelter\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"3\" y=\"424\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">sniff</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createSnifferSanctuary\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"6\" y=\"563\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"3\" arg0=\"num1\" arg1=\"num2\" arg2=\"num3\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><field name=\"HANDLER_num3\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">fly</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createAllayAviary\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"height\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"></shadow><block type=\"math_arithmetic\"><field name=\"OP\">ADD</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_js_round\"><field name=\"OP\">ceil</field><value name=\"ARG0\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">DIVIDE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">2</field></shadow></value></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">3</field></shadow></value></block></value></block></value></block></statement></block><block type=\"minecraftOnChat\" collapsed=\"true\" x=\"10\" y=\"899\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"0\"></mutation><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">i</field></shadow></value><statement name=\"HANDLER\"><block type=\"minecraftAgentTeleport\"><next><block type=\"minecraftSay\"><value name=\"message\"><shadow type=\"text\"><field name=\"TEXT\"></field></shadow><block type=\"minecraftAgentInspect\"><field name=\"kind\">AgentInspection.Data</field><value name=\"direction\"><shadow type=\"minecraftAgentSixDirection\"><field name=\"direction\">SixDirection.Forward</field></shadow></value></block></value></block></next></block></statement></block><block type=\"minecraftOnChat\" collapsed=\"true\" x=\"342\" y=\"900\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"0\"></mutation><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">clear</field></shadow></value><statement name=\"HANDLER\"><block type=\"controls_if\"><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_negate\"><value name=\"BOOL\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"minecraftTestForBlock\"><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Air</field></shadow></value><value name=\"pos\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"minecraftFill\"><field name=\"operator\">FillOperation.Replace</field><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Grass</field></shadow></value><value name=\"from\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-1</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value></block></value><value name=\"to\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-1</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">50</field></shadow></value></block></value></block></statement><next><block type=\"minecraftFill\"><field name=\"operator\">FillOperation.Replace</field><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Air</field></shadow></value><value name=\"from\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value></block></value><value name=\"to\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">10</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">50</field></shadow></value></block></value><next><block type=\"minecraftKill\"><value name=\"target\"><shadow type=\"minecraftTarget\"><field name=\"kind\">TargetSelectorKind.AllEntities</field></shadow></value></block></next></block></next></block></statement></block><"],[0,"/xml>"]],"start1":224,"start2":224,"length1":13,"length2":10133}]}]},{"timestamp":1701472354988,"editorVersion":"1.7.25","changes":[{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0," ],\n"],[-1," \"testFiles\": [\n \"test.ts\"\n ],\n"],[0," "]],"start1":247,"start2":247,"length1":52,"length2":8}]},{"type":"added","filename":"test.ts","value":"// tests go here; this will not be compiled when this package is used as an extension.\n"}]}],"snapshots":[{"timestamp":1701472354934,"editorVersion":"1.7.25","text":{"main.blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</variable><variable id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</variable><variable id=\"|Co?@~4k7P?n)K+HB.iV\">num2</variable></variables><block type=\"minecraftOnChat\" x=\"0\" y=\"0\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">boo</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createSpookyStable\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"0\" y=\"140\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">moo</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createMooshroomMeadow\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"1\" y=\"281\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">stride</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createStriderShelter\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"3\" y=\"424\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"2\" arg0=\"num1\" arg1=\"num2\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">sniff</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createSnifferSanctuary\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></statement></block><block type=\"minecraftOnChat\" x=\"6\" y=\"563\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"3\" arg0=\"num1\" arg1=\"num2\" arg2=\"num3\"></mutation><field name=\"HANDLER_num1\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field><field name=\"HANDLER_num2\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field><field name=\"HANDLER_num3\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">fly</field></shadow></value><statement name=\"HANDLER\"><block type=\"Menagerie_createAllayAviary\"><value name=\"width\"><block type=\"variables_get\"><field name=\"VAR\" id=\"*Bm[(B/l+q*Cz7q7/u8P\">num1</field></block></value><value name=\"height\"><block type=\"variables_get\"><field name=\"VAR\" id=\"|Co?@~4k7P?n)K+HB.iV\">num2</field></block></value><value name=\"depth\"><block type=\"variables_get\"><field name=\"VAR\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field></block></value><value name=\"position\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"></shadow><block type=\"math_arithmetic\"><field name=\"OP\">ADD</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_js_round\"><field name=\"OP\">ceil</field><value name=\"ARG0\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">DIVIDE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\"FYVw{+-j[T:Zh@U6k,OQ\">num3</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">2</field></shadow></value></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">3</field></shadow></value></block></value></block></value></block></statement></block><block type=\"minecraftOnChat\" collapsed=\"true\" x=\"10\" y=\"899\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"0\"></mutation><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">i</field></shadow></value><statement name=\"HANDLER\"><block type=\"minecraftAgentTeleport\"><next><block type=\"minecraftSay\"><value name=\"message\"><shadow type=\"text\"><field name=\"TEXT\"></field></shadow><block type=\"minecraftAgentInspect\"><field name=\"kind\">AgentInspection.Data</field><value name=\"direction\"><shadow type=\"minecraftAgentSixDirection\"><field name=\"direction\">SixDirection.Forward</field></shadow></value></block></value></block></next></block></statement></block><block type=\"minecraftOnChat\" collapsed=\"true\" x=\"342\" y=\"900\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" numargs=\"0\"></mutation><value name=\"command\"><shadow type=\"text\"><field name=\"TEXT\">clear</field></shadow></value><statement name=\"HANDLER\"><block type=\"controls_if\"><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_negate\"><value name=\"BOOL\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"minecraftTestForBlock\"><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Air</field></shadow></value><value name=\"pos\"><shadow type=\"minecraftCreatePosition\"><value name=\"x\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"y\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value><value name=\"z\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"minecraftFill\"><field name=\"operator\">FillOperation.Replace</field><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Grass</field></shadow></value><value name=\"from\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-1</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value></block></value><value name=\"to\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-1</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">50</field></shadow></value></block></value></block></statement><next><block type=\"minecraftFill\"><field name=\"operator\">FillOperation.Replace</field><value name=\"block\"><shadow type=\"minecraftBlock\"><field name=\"block\">Block.Air</field></shadow></value><value name=\"from\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">-25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">0</field></shadow></value></block></value><value name=\"to\"><shadow type=\"minecraftCreatePosition\"></shadow><block type=\"minecraftCreatePositionCamera\"><value name=\"x\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">25</field></shadow></value><value name=\"y\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">10</field></shadow></value><value name=\"z\"><shadow type=\"camerapositionpicker\"><field name=\"pos\">50</field></shadow></value></block></value><next><block type=\"minecraftKill\"><value name=\"target\"><shadow type=\"minecraftTarget\"><field name=\"kind\">TargetSelectorKind.AllEntities</field></shadow></value></block></next></block></next></block></statement></block></xml>","main.ts":"player.onChat(\"moo\", function (num1, num2) {\n Menagerie.createMooshroomMeadow(num1, num2, pos(0, 0, 0))\n})\nplayer.onChat(\"sniff\", function (num1, num2) {\n Menagerie.createSnifferSanctuary(num1, num2, pos(0, 0, 0))\n})\nplayer.onChat(\"stride\", function (num1, num2) {\n Menagerie.createStriderShelter(num1, num2, pos(0, 0, 0))\n})\nplayer.onChat(\"boo\", function (num1, num2) {\n Menagerie.createSpookyStable(num1, num2, pos(0, 0, 0))\n})\nplayer.onChat(\"fly\", function (num1, num2, num3) {\n Menagerie.createAllayAviary(\n num1,\n num2,\n num3,\n posCamera(0, 0, Math.ceil(num3 / 2) + 3)\n )\n})\nplayer.onChat(\"clear\", function () {\n if (!(blocks.testForBlock(AIR, pos(0, -1, 0)))) {\n blocks.fill(\n GRASS,\n posCamera(-25, -1, 0),\n posCamera(25, -1, 50),\n FillOperation.Replace\n )\n }\n blocks.fill(\n AIR,\n posCamera(-25, 0, 0),\n posCamera(25, 10, 50),\n FillOperation.Replace\n )\n mobs.kill(\n mobs.target(ALL_ENTITIES)\n )\n})\nplayer.onChat(\"i\", function () {\n agent.teleportToPlayer()\n player.say(agent.inspect(AgentInspection.Data, FORWARD))\n})\n","README.md":"","custom.ts":"/**\n * Mob Menagerie\n */\n//% weight=100 color=#0fbc11 icon=\"\\uf7ab\"\nnamespace Menagerie {\n\n const mmBuilder: builder.Builder = new builder.Builder();\n\n /**\n * Create a Sniffer Sanctuary\n * @param width Width of the sanctuary (x axis)\n * @param depth Depth of the sanctuary (z axis)\n * @param position Position of the center of the sanctuary\n */\n //% block=\"create sniffer sanctuary with width %width depth %depth at %position\"\n //% position.shadow=minecraftCreatePosition\n export function createSnifferSanctuary(width: number, depth: number, position: Position): void {\n // Fix the position so it doesn't move if the player moves\n position = position.toWorld();\n\n createEnclosure(width, depth, position, MOSS_BLOCK, MOSSY_COBBLESTONE_WALL);\n\n decorateEnclosure(width, depth, position, [TORCHFLOWER], 0.1, 0.3);\n\n // Spawn sniffers\n spawnMobs(width, depth, position, [AnimalMob.Sniffer], 0.01, 0.02);\n }\n\n /**\n * Create an Allay Aviary\n * @param width Width of the aviary (x axis)\n * @param width Height of the aviary (y axis)\n * @param depth Depth of the aviary (z axis)\n * @param position Position of the center of the aviary\n */\n //% block=\"create allay aviary with width %width height %height depth %depth at %position\"\n //% position.shadow=minecraftCreatePosition\n export function createAllayAviary(width: number, height: number, depth: number, position: Position): void {\n // Fix the position so it doesn't move if the player moves\n position = position.toWorld();\n\n const minCorner = getMinCornerOfSquare(width, depth, position).move(CardinalDirection.Down, 1);\n const maxCorner = positions.add(minCorner, pos(width - 1, height, depth - 1)); // Floor is not included in height, hence no -1 on height.\n blocks.fill(GLASS, minCorner, maxCorner, FillOperation.Hollow);\n\n const maxFloorCorner = positions.add(minCorner, pos(width - 1, 0, depth - 1));\n blocks.fill(CHISELED_QUARTZ_BLOCK, minCorner, maxFloorCorner, FillOperation.Replace)\n\n // Spawn allays\n spawnMobs(width, depth, position, [AnimalMob.Allay], 0.3, 0.5);\n }\n\n /**\n * Create a Strider Shelter\n * @param width Width of the shelter (x axis)\n * @param depth Depth of the shelter (z axis)\n * @param position Position of the center of the shelter\n */\n //% block=\"create strider shelter with width %width depth %depth at %position\"\n //% position.shadow=minecraftCreatePosition\n export function createStriderShelter(width: number, depth: number, position: Position): void {\n // Fix the position so it doesn't move if the player moves\n position = position.toWorld();\n\n // Bone block with data 4 rotates it so the \"circle\" side is not visible\n createEnclosure(width, depth, position, NETHERRACK, CRIMSON_FENCE)\n\n decorateEnclosure(width, depth, position, [FIRE], 0.05, 0.1);\n if (width > 5 && depth > 5) {\n // We have enough space to add some lava, but we need to keep it close to the center\n decorateEnclosure(width - 2, depth - 2, position.move(CardinalDirection.Down, 1), [LAVA], 0.6, 0.8, NETHERRACK);\n }\n\n // Spawn striders\n spawnMobs(width, depth, position, [AnimalMob.Strider], 0.05, 0.1);\n }\n\n /**\n * Create a Spooky Stable\n * @param width Width of the stable (x axis)\n * @param depth Depth of the stable (z axis)\n * @param position Position of the center of the stable\n */\n //% block=\"create spooky stable with width %width depth %depth at %position\"\n //% position.shadow=minecraftCreatePosition\n export function createSpookyStable(width: number, depth: number, position: Position): void {\n // Fix the position so it doesn't move if the player moves\n position = position.toWorld();\n\n // Bone block with data 4 rotates it so the \"circle\" side is not visible\n createEnclosure(width, depth, position, blocks.blockWithData(BONE_BLOCK, 4), WARPED_FENCE)\n\n // Spawn spooky horses\n spawnMobs(width, depth, position, [AnimalMob.ZombieHorse, AnimalMob.SkeletonHorse], 0.01, 0.02);\n }\n\n /**\n * Create a Mooshroom Meadow\n * @param width Width of the meadow (x axis)\n * @param depth Depth of the meadow (z axis)\n * @param position Position of the center of the meadow\n */\n //% block=\"create mooshroom meadow with width %width depth %depth at %position\"\n //% position.shadow=minecraftCreatePosition\n export function createMooshroomMeadow(width: number, depth: number, position: Position): void {\n // Fix the position so it doesn't move if the player moves\n position = position.toWorld();\n\n createEnclosure(width, depth, position, MYCELIUM, SPRUCE_FENCE)\n\n // Add sporadic mushrooms\n const mushrooms = [\n RED_MUSHROOM,\n BROWN_MUSHROOM\n ]\n decorateEnclosure(width, depth, position, mushrooms, 0.01, 0.02);\n\n // Spawn mooshrooms\n spawnMobs(width, depth, position, [AnimalMob.MushroomCow], 0.02, 0.03);\n }\n\n function spawnMobs(width: number, depth: number, position: Position, mobsToSpawn: number[], minDensity: number, maxDensity: number,) {\n const [innerMin, innerMax] = getInnerSquareBounds(width, depth, position);\n const area = (width - 2) * (depth - 2);\n const minCount = Math.floor(area * minDensity);\n const maxCount = Math.floor(area * maxDensity);\n\n // At least one of each mob\n const count = Math.max(mobsToSpawn.length, randint(minCount, maxCount));\n\n for (let i = 0; i < count; i++) {\n mobs.spawn(mobsToSpawn[i % mobsToSpawn.length], randpos(innerMin, innerMax));\n }\n }\n\n function decorateEnclosure(\n width: number,\n depth: number,\n position: Position,\n items: number[],\n minDensity: number,\n maxDensity: number,\n replaceBlock: number = 0) { // 0 = AIR\n const [innerMin, innerMax] = getInnerSquareBounds(width, depth, position);\n const area = (width - 2) * (depth - 2);\n const minCount = Math.floor(area * minDensity);\n const maxCount = Math.floor(area * maxDensity);\n const count = randint(minCount, maxCount);\n for (let i = 0; i < count; i++) {\n const item = items[randint(0, items.length - 1)];\n const pos = randpos(innerMin, innerMax);\n if (blocks.testForBlock(replaceBlock, pos)) {\n blocks.place(item, pos);\n }\n }\n }\n\n function getMinCornerOfSquare(width: number, depth: number, center: Position) {\n return positions.add(center, pos(-(width / 2), 0, -(depth / 2)));\n }\n\n function getInnerSquareBounds(width: number, depth: number, center: Position) {\n const innerMin = positions.add(getMinCornerOfSquare(width, depth, center), pos(1, 0, 1));\n const innerMax = positions.add(innerMin, pos(width - 3, 0, depth - 3));\n return [innerMin, innerMax];\n }\n\n function createEnclosure(width: number, depth: number, position: Position, floorMaterial: number, wallMaterial: number) {\n const startPosition = getMinCornerOfSquare(width, depth, position);\n mmBuilder.teleportTo(startPosition);\n\n // Build walls\n mmBuilder.teleportTo(startPosition);\n mmBuilder.mark();\n mmBuilder.face(CompassDirection.East) // +X\n mmBuilder.move(SixDirection.Forward, width - 1);\n mmBuilder.fill(wallMaterial)\n \n mmBuilder.mark();\n mmBuilder.face(CompassDirection.South); // +Z\n mmBuilder.move(SixDirection.Forward, depth - 1);\n mmBuilder.line(wallMaterial)\n\n const farCorner = mmBuilder.position();\n\n mmBuilder.mark();\n mmBuilder.face(CompassDirection.West) // -X\n mmBuilder.move(SixDirection.Forward, width - 1);\n mmBuilder.line(wallMaterial)\n\n mmBuilder.mark();\n mmBuilder.face(CompassDirection.North) // -Z\n mmBuilder.move(SixDirection.Forward, depth - 1);\n mmBuilder.line(wallMaterial)\n\n // Build floor\n mmBuilder.move(SixDirection.Down, 1);\n mmBuilder.mark();\n mmBuilder.teleportTo(farCorner.move(CardinalDirection.Down, 1));\n mmBuilder.fill(floorMaterial, FillOperation.Replace);\n }\n}\n","main.py":"def on_on_chat(num1, num2):\n Menagerie.create_sniffer_sanctuary(num1, num2, pos(0, 0, 0))\nplayer.on_chat(\"t\", on_on_chat)\n\ndef on_on_chat2(num12, num22):\n Menagerie.create_sniffer_sanctuary(num12, num22, pos(0, 0, 0))\nplayer.on_chat(\"sniff\", on_on_chat2)\n\ndef on_on_chat3(num13, num23, num3):\n Menagerie.create_allay_aviary(num13,\n num23,\n num3,\n pos_camera(0, 0, Math.ceil(num3 / 2) + 3))\nplayer.on_chat(\"fly\", on_on_chat3)\n\ndef on_on_chat4(num14, num24):\n Menagerie.create_strider_shelter(num14, num24, pos(0, 0, 0))\nplayer.on_chat(\"stride\", on_on_chat4)\n\ndef on_on_chat5(num15, num25):\n Menagerie.create_mooshroom_meadow(num15, num25, pos(0, 0, 0))\nplayer.on_chat(\"moo\", on_on_chat5)\n\ndef on_on_chat6(num16, num26):\n Menagerie.create_spooky_stable(num16, num26, pos(0, 0, 0))\nplayer.on_chat(\"boo\", on_on_chat6)\n\ndef on_on_chat7():\n agent.teleport_to_player()\n player.say(agent.inspect(AgentInspection.DATA, FORWARD))\nplayer.on_chat(\"i\", on_on_chat7)\n\ndef on_on_chat8():\n if not blocks.test_for_block(AIR, pos(0, -1, 0)):\n blocks.fill(GRASS,\n pos_camera(-25, -1, 0),\n pos_camera(25, -1, 50),\n FillOperation.REPLACE)\n blocks.fill(AIR,\n pos_camera(-25, 0, 0),\n pos_camera(25, 10, 50),\n FillOperation.REPLACE)\n mobs.kill(mobs.target(ALL_ENTITIES))\nplayer.on_chat(\"clear\", on_on_chat8)\n","pxt.json":"{\n \"name\": \"Mob Menagerie\",\n \"description\": \"\",\n \"dependencies\": {\n \"core\": \"*\",\n \"builder\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"custom.ts\",\n \"main.py\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.7.25\",\n \"tag\": \"v1.7.25\",\n \"commits\": \"https://github.com/microsoft/pxt-minecraft/commits/bbfba1406df57825c17703f0590ac8ff3c5bc502\",\n \"target\": \"1.7.25\",\n \"pxt\": \"9.2.6\"\n },\n \"preferredEditor\": \"tsprj\"\n}\n"}}],"shares":[]}