Fix double username block and add current screen id&name options

This commit is contained in:
Scratch-hv | Oeil-de-Lynx 2024-04-25 15:05:10 +00:00
commit 829a5a2d6a
2 changed files with 17 additions and 5 deletions

View file

@ -165,8 +165,6 @@
<block type="player_motion"/>
<block type="player_indimension"/>
<sep gap="48"></sep>
<block type="player_username"/>
<sep gap="48"></sep>
<block type="player_setpropertyboolean"/>
<block type="player_getpropertyboolean"/>
<block type="player_setpropertynumber"/>

View file

@ -75,13 +75,27 @@ function register() {
}
registerBlock(`${categoryPrefix}currentscreen`, {
message0: 'current screen name',
args0: [],
message0: 'current screen %1',
args0: [{
"type": "field_dropdown",
"name": "MENU",
"options": [
[ "name", "name" ],
[ "ID", "ID" ],
]
}],
output: "String",
inputsInline: true,
colour: categoryColor
}, (block) => {
return [`ModAPI.currentScreen()`, javascriptGenerator.ORDER_ATOMIC];
const MENU = block.getFieldValue('MENU');
let code = "";
if (MENU === "ID") {
code = `ModAPI.currentScreen()`
} else if (MENU === "name") {
code = `ModAPI.currentScreen().substring(ModAPI.currentScreen().lastIndexOf(".")+1, ModAPI.currentScreen().lastIndexOf("@"))`
}
return [code, javascriptGenerator.ORDER_ATOMIC];
})
}