https://linen.dev logo
ノッチが変更されない
# forum
w
サーバースクリプトで信号の値と速度に応じてノッチを変更するコードを書いたのですが、ノッチが変更されません
h
亀レス失礼 見たところ特に問題がないように見えます。 こういったデバッグをするときはNGTLog.debug()を差し込んでデバッグログを確認しながらデバッグをすると良いです。 ・デバッグログの出し方 デバッグログはランチャー>左下の設定>MINECRAFT: JAVA EDITIONの設定>Minecraft: Java Editionの起動時に出力ログを開く にチェックを入れると見れるようになります ・ログを出力する
Copy code
js
importPackage(Packages.jp.ngt.ngtlib.io);//NGTLog
︙
function WYE_ATC(entity, scriptExecuter) {
    var signal = entity.getSignal();
    var speed = entity.getSpeed() * 72.0;
    var limit = (signal * 15) - 30;
    NGTLog.debug("###################");
    if (signal >= 2 && signal <= 10) {
        NGTLog.debug("テスト1");
        if (speed > limit) {
            NGTLog.debug("テスト2");
            if (speed > limit + 11) {
                NGTLog.debug("テスト3");
                entity.setNotch(-7);
            } else if (speed > limit + 5 && speed < limit + 7) {
                NGTLog.debug("テスト4");
                entity.setNotch(-4);
            } else if (speed > limit + 1 && speed < limit + 3) {
                NGTLog.debug("テスト5");
                entity.setNotch(-2);
            } else if (speed > limit - 0 && speed < limit + 0.5) {
                NGTLog.debug("テスト6");
                entity.setNotch(0);
            }
        }
    }
}
といった感じでNGTLog.debug("テキスト");を入れると実行時にログに出力されます。これで実際にどこまで処理が行われているかを確認することができるので活用してみてください。また、NGTLog.debugは文字列以外に変数を入れて中身を確認することもできます(プリミティブ型のみ)。 例えばentity.setNotch(0);まで通っている場合、ログには以下のように出力されると思います。 ################### テスト1 テスト2 テスト6
w
ありがとうございます。 やってみます。