Skip to content

Commit

Permalink
全面優化 更新了 vision 0.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
JKZKKKKK authored Jul 7, 2024
1 parent 1fe56c9 commit 4d4f683
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 30 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ https://developers.google.com/blockly/guides/overview
### 預計要加入的頁面

[實體攻擊事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/entityhiteventsignal)\
[玩家退出事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/playerleaveeventsignal)\
[玩家加入事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/playerjoineventsignal)\
[被添加effect事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/effectaddeventsignal)\
[玩家退出事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/playerleaveeventsignal)\
[玩家加入事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/playerjoineventsignal)\
[被添加effect事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/effectaddeventsignal)\
[Tick Event](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/tickeventsignal)\
[實體被創建事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/entitycreateeventsignal)\
[爆炸事件](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/explosioneventsignal)\
Expand Down
17 changes: 12 additions & 5 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,19 @@
</head>

<body>
<div class="button">
<h>minecarft blockly gametset</h>
<br>
<button onclick="check()" type="submit">轉換程式碼</button>
<button onclick="download_pack('addon',generate())" type="submit">生成並下載模組</button>
<button onclick="download_js(generate())" type="submit">下載js檔案</button>
<button onclick="upload_project()" type="submit">匯入專案</button>
<button onclick="download_project()" type="submit">匯出專案</button>
<button type = "submit">贊助模式</button>
<button type="submit">加入官方DC</button>

</div>

<button onclick="check()">轉換程式碼</button>
<button onclick="download_pack('addon',generate())">生成並下載模組</button>
<button onclick="download_js(generate())">下載js檔案</button>
<button onclick="upload_project()">匯入專案</button>
<button onclick="download_project()">匯出專案</button>

<div id="blocklyArea"></div>

Expand Down
37 changes: 21 additions & 16 deletions src/blocks.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ Blockly.JavaScript['gametest_on_hit_entity'] = function (block) {
const value_target = Blockly.JavaScript.valueToCode(block, 'TARGET', Blockly.JavaScript.ORDER_ATOMIC);
const statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
const code = `
Minecraft.world.events.entityHit.subscribe(e => {
${value_attacker} = e.entity;
world.afterEvents.entityHitEntity.subscribe((e) => {
${value_attacker} = e.damagingEntity;
${value_target} = e.hitEntity;
if (!${value_attacker}.id) return;
${statements_code}
Expand Down Expand Up @@ -68,8 +68,8 @@ Blockly.JavaScript['gametest_on_player_join'] = function (block) {
const value_player = Blockly.JavaScript.valueToCode(block, 'PLAYER', Blockly.JavaScript.ORDER_ATOMIC);
const statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
const code = `
Minecraft.world.events.playerJoin.subscribe(e => {
${value_player} = e.player;
world.afterEvents.playerJoin.subscribe((e) => {
${value_player} = e.playerName;
${statements_code}
});
`;
Expand All @@ -95,7 +95,7 @@ Blockly.JavaScript['gametest_on_player_leave'] = function (block) {
const value_player = Blockly.JavaScript.valueToCode(block, 'PLAYER', Blockly.JavaScript.ORDER_ATOMIC);
const statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
const code = `
Minecraft.world.events.playerLeave.subscribe(e => {
world.afterEvents.PlayerLeave.subscribe((e) => {
${value_player} = e.playerName;
${statements_code}
});
Expand Down Expand Up @@ -127,9 +127,9 @@ Blockly.JavaScript['gametest_on_block_place'] = function (block) {
const value_block = Blockly.JavaScript.valueToCode(block, 'BLOCK', Blockly.JavaScript.ORDER_ATOMIC);
const statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
const code = `
Minecraft.world.events.blockPlace.subscribe(e => {
world.afterEvents.playerPlaceBlock.subscribe((e) => {
${value_player} = e.player;
${value_block} = e.block;
${value_block} = e.extends;
${statements_code}
});
`;
Expand Down Expand Up @@ -160,9 +160,9 @@ Blockly.JavaScript['gametest_on_block_break'] = function (block) {
const value_block = Blockly.JavaScript.valueToCode(block, 'BLOCK', Blockly.JavaScript.ORDER_ATOMIC);
const statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
const code = `
Minecraft.world.events.blockBreak.subscribe(e => {
world.afterEvents.playerBreakBlock.subscribe((e) =>
${value_player} = e.player;
${value_block} = e.block;
${value_block} = e.extends;
${statements_code}
});
`;
Expand All @@ -182,7 +182,7 @@ Blockly.Blocks['gametest_on_tick'] = {
Blockly.JavaScript['gametest_on_tick'] = function (block) {
var statements_code = Blockly.JavaScript.statementToCode(block, 'CODE');
var code = `
Minecraft.world.events.tick.subscribe(e => {
system.runInterval(() => {
${statements_code}
});
`;
Expand Down Expand Up @@ -398,9 +398,9 @@ Blockly.JavaScript['gametest_onitemuse'] = function (block) {
}

let code = `
Minecraft.world.events.beforeItemUse.subscribe(e => {
world.afterEvents.ItemCompleteUse.subscribe((e) =>
${cancel}
${value_item} = e.item;
${value_item} = e.itemStack;
${value_player} = e.source;
${statements_do}
});
Expand Down Expand Up @@ -549,7 +549,7 @@ Blockly.JavaScript['gametest_onchat'] = function (block) {
}

let code = `
Minecraft.world.events.beforeChat.subscribe(e => {
world.beforeEvents.chatSend.subscribe((e) => {
${cancel}
${value_player} = e.sender;
${value_message} = e.message;
Expand All @@ -575,7 +575,7 @@ Blockly.JavaScript['gametest_run_command'] = function (block) {
let dropdown_dimension = block.getFieldValue('DIMENSION');
let value_command = Blockly.JavaScript.valueToCode(block, 'COMMAND', Blockly.JavaScript.ORDER_ATOMIC);

let code = `Minecraft.world.getDimension("${dropdown_dimension}").runCommand(${value_command});\n`;
let code = `world.getDimension("${dropdown_dimension}").runCommand(${value_command});\n`;
return code;
};
Blockly.Blocks['gametest_tellraw_command'] = {
Expand Down Expand Up @@ -657,7 +657,10 @@ Blockly.Blocks['gametest_add_tag'] = {
Blockly.JavaScript['gametest_add_tag'] = function (block) {
var value_player = Blockly.JavaScript.valueToCode(block, 'PLAYER', Blockly.JavaScript.ORDER_ATOMIC);
var value_tag = Blockly.JavaScript.valueToCode(block, 'TAG', Blockly.JavaScript.ORDER_ATOMIC);
var code = `${value_player}.addTag(${value_tag})`
var code = `system.run(() => {
${value_player}.addTag(${value_tag})
})
`
return code;
};
Blockly.Blocks['gametest_remove_tag'] = {
Expand All @@ -681,7 +684,9 @@ Blockly.Blocks['gametest_remove_tag'] = {
Blockly.JavaScript['gametest_remove_tag'] = function (block) {
var value_player = Blockly.JavaScript.valueToCode(block, 'PLAYER', Blockly.JavaScript.ORDER_ATOMIC);
var value_tag = Blockly.JavaScript.valueToCode(block, 'TAG', Blockly.JavaScript.ORDER_ATOMIC);
var code = `${value_player}.removeTag(${value_tag})`
var code = `system.run(() => {
${value_player}.removeTag(${value_tag})
})`
return code;
};
Blockly.Blocks['gametest_has_tag'] = {
Expand Down
11 changes: 11 additions & 0 deletions src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,17 @@ html,body {
margin: 0;
}

.button button{
width: 150px;
border: 2px solid #2e8dcc;
cursor: pointer;
border-radius: 22px;
}
.button buttton[type="submit"]:hover {
background-color: #2ecc71;
transition: 0.5s;
}

body {
background-color: #fff;
font-family: sans-serif;
Expand Down
12 changes: 6 additions & 6 deletions src/lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

function generate() {
var generate_code = Blockly.JavaScript.workspaceToCode(workspace);
var init_code = `import * as GameTest from "@minecraft/server-gametest";\nimport { BlockLocation } from "@minecraft/server";\nconst log = function(message) {let okay_message = message.toString().replaceAll('\\"',"''").replaceAll('\\\\',"/");Minecraft.world.getDimension("overworld")player.runCommand(\`tellraw @a {"rawtext":[{"text":"\${okay_message}"}]}\`)}\n`
var init_code = `import { world } from "@minecraft/server";\nexport function log (message) {\n let okay_message = message.toString().replaceAll('\\"',"''").replaceAll('\\\\',"/");\n world.getDimension("overworld").runCommandAsync(\`tellraw @a {"rawtext":[{"text":"\${okay_message}"}]}\`)}\n`
return init_code + generate_code
}
function check() {
Expand Down Expand Up @@ -119,17 +119,17 @@ function download_pack(packName, code) {
"type": "script",
"uuid": uuid(),
"version": [0, 0, 1],
"entry": "blockly-gametest/main.js"
"entry": "scripts/main.js"
}
],
"dependencies": [
{
"module_name": "@minecraft/server",
"version": "1.0.0-beta"
"version": "1.12.0-beta"
},
{
"module_name": "@minecraft/server-gametest",
"version": "1.0.0-beta"
"module_name": "@minecraft/server-ui",
"version": "1.2.0-beta"
}
]
}
Expand All @@ -138,7 +138,7 @@ function download_pack(packName, code) {
//添加文字檔案
mcpack.file("manifest.json", JSON.stringify(manifest));
//添加資料夾
let script = mcpack.folder("blockly-gametest");
let script = mcpack.folder("scripts");
script.file("main.js", code);

mcpack.generateAsync({ type: 'blob' }).then(function (content) {
Expand Down

0 comments on commit 4d4f683

Please sign in to comment.