#gametestでformを出したい

1 messages · Page 1 of 1 (latest)

last star
#

formを出したいのですが、エラーで出来ません。これって何が違うんでしょうか?

<< main.js >>

import { ActionFormData ,ActionFormResponse } from "@minecraft/server-ui";

//formをだす
function askFavoriteMonth(player:Player){
    const form =new ActionFormData();
        form.title("Months");
        form.body("choose your favorite months!");
        form.button("1");
        form.button("2");
        form.button("3");
        form.button("4");
        form.button("5");
    form.show(player).then((response:ActionFormResponse) => {
        if (response.selection ===3){
            player.sendMessage("yes.good!good!!");
        } else {
            player.sendMessage("oh...");
        }
    });
}

//item使用
world.afterEvents.itemCompleteUse.subscribe(event =>{
    const { source ,itemStack } =event;
    //そろんジュース使用時
    if (itemStack.type.id ==="stationery:soromn_juice"){
        source.runCommandAsync("function stationery/use_item/soromn_juice");
    //フレイムジュース使用時
    } else if (itemStack.type.id ==="stationery:flame_juice"){
        source.runCommandAsync("function stationery/use_item/flame_juice");
    }
});

// /scripteventの受け取り
system.afterEvents.scriptEventReceive.subscribe(event_data => {
    const { id ,message ,sourceEntity } =event_data;
    if (id ==="stationery:show_form"){
        //formをだす
        askFavoriteMonth(sourceEntity);
    }
});```

<< コンテンツログ >>
```[Scripting][error]-Plugin [stationery §a--ver[1, 0, 0] - 1.0.0] - [main.js] ran with error: [SyntaxError: expecting ','    at main.js:5
]```
vague hedge
#

player:Playerとresponse:ActionFormResponseでエラーが出ています。player:Playerの代わりに

/**
 * 
 * @param {Player} player 
 */
```を使ってください
last star
#

@param {Player} playerというのを、player:Playerのところに挿し替えれば良いのでしょうか?

silver bloom
#

player:Player=> playerに関数の上に

/**
 * 
 * @param {Player} player 
 */
```ってことです多分
last star
#

ということは
function func(player:Player){}
というのを

function func(player){}```
のように変えるという事ですか?
vague hedge
#
import { system ,world, Player } from "@minecraft/server";
import { ActionFormData ,ActionFormResponse } from "@minecraft/server-ui";

//formをだす
/**
 * 
 * @param {Player} player 
 */
function askFavoriteMonth(player){
    const form =new ActionFormData();
        form.title("Months");
        form.body("choose your favorite months!");
        form.button("1");
        form.button("2");
        form.button("3");
        form.button("4");
        form.button("5");
        
    form.show(player).then((response) => {
        if (response.selection ===3){
            player.sendMessage("yes.good!good!!");
        } else {
            player.sendMessage("oh...");
        }
    });
}

//item使用
world.afterEvents.itemCompleteUse.subscribe(event =>{
    const { source ,itemStack } =event;
    //そろんジュース使用時
    if (itemStack.type.id ==="stationery:soromn_juice"){
        source.runCommandAsync("function stationery/use_item/soromn_juice");
    //フレイムジュース使用時
    } else if (itemStack.type.id ==="stationery:flame_juice"){
        source.runCommandAsync("function stationery/use_item/flame_juice");
    }
});

// /scripteventの受け取り
system.afterEvents.scriptEventReceive.subscribe(event_data => {
    const { id ,message ,sourceEntity } =event_data;
    if (id ==="stationery:show_form"){
        //formをだす
        askFavoriteMonth(sourceEntity);
    }
});
```のような感じです
last star
#

/**
*

  • @param {Player} player
    */
    はそのまま入れるんですね
vague hedge
#

JSDocなので

last star
#

あ、できました!