Исходник [1.5.0] moonly / MoonLoader project manager

Musaigen

ihatemyself
Автор темы
Проверенный
1,706
1,590
Со следующих версий в константах можно будет бандлить константы любого типа (раньше только null, числа, строки и boolean). Пример:
JSON:
"constants": {
  "MOONLY_NIL": null,
  "MOONLY_STR": "string",
  "MOONLY_BUNDLED": true,
  "MOONLY_BUNDLE_TIMESTAMP": "<$date>",
  "MOONLY_EMPTY_ARR": [],
  "MOONLY_EMPTY_OBJ": {},
  "MOONLY_ARR": [
    "test",
    true,
    [
      "another array"
    ]
  ],
  "MOONLY_OBJECT": {
    "meta_info": {
      "version": 1.0,
      "is_active": true,
      "description": "Тестовый файл для проверки форматтера",
      "tags": [
        "json",
        "test",
        "formatter",
        "development"
      ],
      "created_at": "2023-10-27T10:00:00Z"
    },
    "data_types": {
      "integer_positive": 42,
      "integer_negative": -15,
      "float_number": 3.14159,
      "scientific_notation": 1.23e-4,
      "null_value": null,
      "empty_string": "",
      "unicode_string": "Привет, мир! 你好世界 🌍"
    },
    "nesting_test": {
      "level_1": {
        "level_2": {
          "level_3": {
            "level_4": {
              "deep_value": "Я очень глубоко",
              "date": "<$date>"
            }
          }
        }
      }
    },
    "complex_arrays": [
      1,
      "two",
      true,
      null,
      {
        "nested_object_in_array": "value"
      },
      [
        "nested",
        "array"
      ]
    ],
    "special_characters": {
      "new_line": "Строка 1\nСтрока 2",
      "tabulation": "Табуляция\tздесь",
      "quotes": "Кавычки \"внутри\" строки",
      "backslash": "Путь C:\\Users\\Admin",
      "slash": "URL https://example.com/path"
    },
    "edge_cases": {
      "empty_object": {},
      "empty_array": [],
      "zero": 0,
      "false_value": false,
      "very_long_string": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
    }
  }
},
Итог:
Lua:
MOONLY_BUNDLE_TIMESTAMP = 1771322019890
MOONLY_ARR = {
  "test",
  true,
  {
    "another array"
  }
}
MOONLY_BUNDLED = true
MOONLY_EMPTY_ARR = {}
MOONLY_STR = "string"
MOONLY_OBJECT = {
  ["complex_arrays"] = {
    1,
    "two",
    true,
    nil,
    {
      ["nested_object_in_array"] = "value"
    },
    {
      "nested",
      "array"
    }
  },
  ["data_types"] = {
    ["empty_string"] = "",
    ["float_number"] = 3.14159,
    ["integer_negative"] = -15,
    ["integer_positive"] = 42,
    ["null_value"] = nil,
    ["scientific_notation"] = 0.000123,
    ["unicode_string"] = "Привет, мир! 你好世界 🌍"
  },
  ["edge_cases"] = {
    ["empty_array"] = {},
    ["empty_object"] = {},
    ["false_value"] = false,
    ["very_long_string"] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
    ["zero"] = 0
  },
  ["meta_info"] = {
    ["created_at"] = "2023-10-27T10:00:00Z",
    ["description"] = "Тестовый файл для проверки форматтера",
    ["is_active"] = true,
    ["tags"] = {
      "json",
      "test",
      "formatter",
      "development"
    },
    ["version"] = 1.0
  },
  ["nesting_test"] = {
    ["level_1"] = {
      ["level_2"] = {
        ["level_3"] = {
          ["level_4"] = {
            ["date"] = 1771322019892,
            ["deep_value"] = "Я очень глубоко"
          }
        }
      }
    }
  },
  ["special_characters"] = {
    ["backslash"] = "Путь C:\\Users\\Admin",
    ["new_line"] = "Строка 1\nСтрока 2",
    ["quotes"] = "Кавычки \"внутри\" строки",
    ["slash"] = "URL https://example.com/path",
    ["tabulation"] = "Табуляция\tздесь"
  }
}
MOONLY_NIL = nil
MOONLY_EMPTY_OBJ = {}

Обновление Moonly CLI V3.0.0! Скачать: клик
1. Добавлена команда 'watch'. Работает точно также как и AutoReboot в moonly, но при изменениях либо бандлит, либо собирает в ZIP весь проект заново. Имеет два параметра: (-m, --mode): режим, может быть либо bundle (по умолчанию), либо pack. Выполняет соответствующие команды при изменениях в проекте; (-d, --delay): задержка между итерациями цикла при проверке изменений, указывается в миллисекундах, минимально 50 миллисекунд, по умолчанию стоит ровно 1 секунда (= 1000 мс).
2. Теперь в константах можно бандлить константы любого JSON типа (null, числа, строки, були, массивы, объекты).

Обновление Moonly V1.5.0! Скачать: клик
1. Перебандлен под новый CLI. Это изменение уменьшило размер файла в ~2 раза.
2. Чтобы обновление не было совсем пустым, был добавлен экспериментальный модуль qol (Quality of Life). Этот модуль должен был стать заменой некоторых полезных функций SAMPFUNCS в случае его отсутствия. Добавляет антипаузу (с фиксом курсора при сворачивании игры) и window-mode. Так как модуль экспериментальный он выключен по умолчанию, нужно будет дописать "qol" в список "moonly.runtime.modules", чтобы включить. Модуль имеет два ключа в настройках:
1. "moonly.qol.antipause" (true/false): включает/отключает антипаузу.
2. "moonly.qol.window-mode" (true/false): включает/отключает оконный режим.
 
Последнее редактирование: