# LuxinfineShop-5.0-1.7.10

#### Информация:

Переработанная версия приватного мода с множеством изменений с нашей стороны: значительные оптимизации клиентской части магазина, перенос тяжелых методов в ассинхронное выполнение, переработка серверного кода, отказ от множества лишних зависимостей, поддержка валюты в формате double(десятичные дроби) и многое другое.

#### Скриншоты:

![](https://2412625580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1iyfsxxXw5PkJxs3s3%2F-MMsVJLLZ3DjDaHMaRw9%2F-MMsWcYaU-sGVYTZUphw%2FScreenshot_1.png?alt=media\&token=89a050bb-dc29-4747-a5a6-727b097b4329)

![](https://2412625580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1iyfsxxXw5PkJxs3s3%2F-MMsVJLLZ3DjDaHMaRw9%2F-MMsWgWd-FSwWCyftWoG%2FScreenshot_2.png?alt=media\&token=6fe5bb1e-af54-470b-97d1-51ffdf4aac7a)

![](https://2412625580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1iyfsxxXw5PkJxs3s3%2F-MMsVJLLZ3DjDaHMaRw9%2F-MMsWjhPnI5ggtWJBADo%2FScreenshot_3.png?alt=media\&token=8c61d543-ad9c-4523-a9f5-82d3bb6c9915)

![](https://2412625580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1iyfsxxXw5PkJxs3s3%2F-MMsVJLLZ3DjDaHMaRw9%2F-MMsWmUfNR2aJNvflBdX%2FScreenshot_4.png?alt=media\&token=5bba380f-90e0-44dd-b8ac-a5003ee1a3ef)

#### Конфигурация:

```json
{
  "configuration": {
    "canEditUsers": {
      "comment": "Список имен пользователей, которые могут управлять шопом",
      "type": "Set<String>",
      "default": [
        "Angelok",
        "daniorio"
      ],
      "value": [
        "Angelok",
        "daniorio"
      ]
    },
    "useEditList": {
      "comment": "Если true - используется лист имен пользователей для редактирования шопа, иначе - проверка на op",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "buyCooldown": {
      "comment": "Кулдаун покупки предметов в миллисекундах",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 2500,
      "value": 2500
    },
    "cartCooldown": {
      "comment": "Кулдаун забирания предметов из корзины в миллисекундах",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 5000,
      "value": 5000
    },
    "buyProductType": {
      "comment": "Режим выдачи покупки: \ntrue - выдавать в инвентарь игроку (ВНИМАНИЕ: При дисконнекте игрока/переполнении инвентаря - остатки будут помещены в корзину) \nfalse - выдавать в корзину игрока",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "database": {
      "properties": {
        "serverId": {
          "comment": "ID сервера для покупки предметов",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 1,
          "value": 1
        },
        "catalogTable": {
          "type": "String",
          "default": "shop_catalog",
          "value": "shop_catalog"
        },
        "cartTable": {
          "type": "String",
          "default": "shop_cart",
          "value": "shop_cart"
        },
        "enchantTable": {
          "type": "String",
          "default": "shop_enchant",
          "value": "shop_enchant"
        },
        "idColumn": {
          "type": "String",
          "default": "id",
          "value": "id"
        },
        "databaseId": {
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 0,
          "value": 0
        }
      }
    },
    "economy": {
      "comment": "Провайдер экономики",
      "type": "Economy",
      "default": "dummy",
      "value": "LuxinfineEconomy"
    },
    "client": {
      "properties": {
        "showTooltips": {
          "comment": "Показывать тултипы на предметах о том, что их можно купить в магазине и за сколько",
          "type": "boolean",
          "default": true,
          "value": true
        }
      }
    },
    "logging": {
      "properties": {
        "logBuy": {
          "comment": "Логгировать покупки через LFLogger",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "logBuyMaxSize": {
          "comment": "Макс размер лог файла в байтах",
          "range": "От -2147483648 до 2147483647",
          "type": "int",
          "default": 1048576,
          "value": 1048576
        }
      }
    }
  }
}
```

#### Установочный SQL скрипт:

```sql
create table shop_cart
(
    id          int auto_increment
        primary key,
    type_id     tinyint      not null,
    value       varchar(255) not null,
    amount      int          not null,
    uuid        varchar(36)  not null,
    server_id   tinyint      not null,
    description text         not null,
    name        text         not null,
    image_url   text         not null
);

create table shop_catalog
(
    type_id     tinyint       not null,
    servers     tinyint       not null,
    value       varchar(255)  not null,
    price       double        not null,
    name        varchar(64)   not null,
    description varchar(255)  not null,
    amount      tinyint       not null,
    discount    tinyint       not null,
    enable      tinyint(1)    not null,
    image_url   varchar(128)  not null,
    id          int auto_increment
        primary key,
    bought      int default 0 not null
);

create table shop_enchant
(
    id         int auto_increment
        primary key,
    enchant_id int          not null,
    name       varchar(64)  not null,
    price      double       not null,
    max        int          not null,
    `desc`     varchar(255) not null
);
```

Автор оригинальной версии магазина - FuixTeam
