JavaScript Section Tutorial cn - Glomzzz/RandomItem GitHub Wiki

脚本节点教程

学习 JavaScript

https://www.runoob.com/js/js-tutorial.html

RandomItem中的脚本节点

简单型

script:
  type: javascript
  script: |
    var id = <品质.data-json>.id;
    switch(id){
     case "粗糙":
     return 1;
     case "普通":
     return 2;
     case "良好":
     return 3;
     case "优秀":
     return 4;
     case "史诗":
     return 5;
     case "传说":
     return 6;
     default:
     return 0;
     }

"<品质.data-json>"是什么?

这家伙是字符串节点 品质 在经过基于权重的随机后得出的子字符串的JSON

调用它会返回 子字符串的JSON

   -> 品质.data-json :
    {
      "id": "粗糙",
      "objects": [
        "WOODEN_SWORD",
        "粗糙的",
        "品质: 粗糙",
        "_______<-品质属性->_______",
        " 攻击力: 10 ",
        "0"
      ],
      "weight": "45"
    }

你可以在脚本中直接通过调用运算符"." + 数据id 调用每个数据 (<品质.data-json>.id)

复合型

如果你想在脚本中用函数 你必须自己运行它

script1:
  type: javascript
  script: |
    function main(){
      var id = <品质.data-json>.id;
      switch(id){
       case "粗糙":
         return 1;
       case "普通":
         return 2;
       case "良好":
         return 3;
       case "优秀":
         return 4;
       case "史诗":
         return 5;
       case "传说":
         return 6;
       default:
         return 0;
     }
    main();

(自定义对象也是如此)

其它

你可以通过调用其它脚本节点的脚本来在另一个脚本节点中运行它! (<脚本节点ID.script> -> <脚本节点ID.script>)

script1:
  type: javascript
  script: |
    <script2.script>
script2:
  type: javascript
  script: |
      var id = <品质.data-json>.id;
      switch(id){
       case "粗糙":
         return 1;
       case "普通":
         return 2;
       case "良好":
         return 3;
       case "优秀":
         return 4;
       case "史诗":
         return 5;
       case "传说":
         return 6;
       default:
         return 0;

不同节点 不同JSON.

字符串节点

   -> 品质.json :
    {
      "value-map": {
        "普通": {
          "id": "普通",
          "objects": [
            "STONE_SWORD",
            "普通的",
            "品质: 普通",
            "_______<-品质属性->_______",
            " 攻击力: 20 ",
            "0"
          ],
          "weight": "35"
        },
        "优秀": {
          "id": "优秀",
          "objects": [
            "GOLDEN_SWORD",
            "优秀的",
            "品质: 优秀",
            "_______<-品质属性->_______",
            " 攻击力: 50 ",
            "1"
          ],
          "weight": "6"
        },
        "粗糙": {
          "id": "粗糙",
          "objects": [
            "WOODEN_SWORD",
            "粗糙的",
            "品质: 粗糙",
            "_______<-品质属性->_______",
            " 攻击力: 10 ",
            "0"
          ],
          "weight": "45"
        },
        "良好": {
          "id": "良好",
          "objects": [
            "IRON_SWORD",
            "良好的",
            "品质: 良好",
            "_______<-品质属性->_______",
            " 攻击力: 30 ",
            "0"
          ],
          "weight": "10"
        },
        "传说": {
          "id": "传说",
          "objects": [
            "NETHERITE_SWORD",
            "传说的",
            "品质: 传说",
            "_______<-品质属性->_______",
            " 攻击力: 100 ",
            "3"
          ],
          "weight": "1"
        },
        "史诗": {
          "id": "史诗",
          "objects": [
            "DIAMOND_SWORD",
            "史诗的",
            "品质: 史诗",
            "_______<-品质属性->_______",
            " 攻击力: 70 ",
            "2"
          ],
          "weight": "3"
        }
      },
      "id": "品质"
    }

数字节点

   -> 强度.json :
    {
      "id": "强度",
      "start": "1",
      "decimal": "0",
      "fixed.integer.max": "-1"
      "fixed.integer.min": "0",
      "fixed.decimal.max": "0",
      "fixed.decimal.min": "0",
      "bound": "20",
    }

计算节点

   -> x.json :
    {
      "id": "x",
      "max": "233",
      "formula": "(1+(0/2)) * 0 * 3 / 20",
      "fixed.integer.max": "-1"
      "fixed.integer.min": "0",
      "fixed.decimal.max": "2",
      "fixed.decimal.min": "0",
    }

脚本节点

   -> script.json :
    {
      "id": "script",
      "script": "
      var id = <品质.data-json>.id;
      switch(id){
        case "粗糙":
          return 0;
        case "普通":
          return 1;
        case "良好":
          return 2;
        case "优秀":
          return 3;
        case "史诗":
          return 4;
        case "传说":
          return 5;
        default:
          return 114514;
     }"
    }

   -> script.script :
    var id = {
      "id": "粗糙",
      "objects": [
        "WOODEN_SWORD",
        "粗糙的",
        "品质: 粗糙",
        "_______<-品质属性->_______",
        " 攻击力: 10 ",
        "0"
      ],
      "weight": "45"
    }.id;
    switch(id){
     case "粗糙":
     return 0;
     case "普通":
     return 1;
     case "良好":
     return 2;
     case "优秀":
     return 3;
     case "史诗":
     return 4;
     case "传说":
     return 5;
     default:
     return 114514;
     }

如果你想查看每个节点的JSON结构 请打开debug模式

如何调用节点的JSON?

通常情况下 我们可以通过 "<节点ID.json>" 来调用

如果你想调用字符串节点在基于权重随机后得出的子字符串的JSON 可以键入 "<字符串节点id.data-json>"

⚠️ **GitHub.com Fallback** ⚠️