https://linen.dev logo
カスタムボタンの状態を取得する関数について
# forum
u
ななきた様に教えていただいたカスタムボタンの状態を取得する関数について何かと疑問点が,,,,,,,,,,,
function getCustomButton(entity, number) { return entity.getResourceState().getDataMap().getInt('Button' + number); } こちらがななきた様に教えていただいたカスタムボタンの状態を取得する関数です。 こちらの関数は1.12.2、1.7.10に対応していますか?
また使用する際はMCversioncheckerみたいに変数を定義してそこの値を代入する形がいいですか? つまり function MCVersionChecker() { var version = RTMCore.VERSION; if (version.indexOf("1.7.10") >= 0) return "1.7.10"; else if (version.indexOf("2.0") >= 0) return "1.8.9"; else if (version.indexOf("2.1") >= 0) return "1.9.4"; else if (version.indexOf("2.2") >= 0) return "1.10.2"; else if (version.indexOf("2.4") >= 0) return "1.12.2"; else return "unknown"; } function getCustomButton(entity, number) { return entity.getResourceState().getDataMap().getInt('Button' + number); } function onupdate(){ var MCversionchecker = MCVersionChecker(), button = 0; if(entity != null){ button = entity.getResourceState().getDataMap().getInt("Button0"); } } として書くか function getCustomButton(entity, number) { return entity.getResourceState().getDataMap().getInt('Button' + number); } function onupdate(){ if(entity != null){ button = entity.getResourceState().getDataMap().getInt("Button0"); } } として書くか
h
1.12/1.7.10でも動くか?→見た感じ動きそうです 使い方はこんな感じですね
Copy code
Javascript
function getCustomButton(entity, number) {
    return entity.getResourceState().getDataMap().getInt('Button' + number);
}

function onupdate(entity) {
    var button0 = getCustomButton(entity, 0);//0番目のカスタムボタンを取得
}
●カスタムボタンの仕組みについて カスタムボタンはDataMapに"Button◯" (◯はcustomButtonsのインデックス番号(0から数える)) というキーで、Int型(整数)で入っています。
Copy code
Javascript
var dataMap = entity.getResourceState().getDataMap();
var button0 = dataMap.getInt("Button0"); //0番目(customButtonsの一番最初の要素)のカスタムボタンを取得
といった具合です。返ってくる値はInt型(整数)で、表示内容のインデックス番号が返ってきます。 例えば
Copy code
Json
  "customButtons": [
    ["テストA","テストB", "テストC", "テストD"],
    ["乗務員室灯:OFF", "乗務員室灯:ON"]
  ]
というボタンを用意した場合、テストA~テストDは"Button0"、乗務員室灯は"Button1"で取得できます。 返ってくる値は、"テストA"なら0、"テストB"なら1、"テストC"なら2...といった具合に前から順に0, 1, 2と続きます。
8 Views