Skip to content

Commit 02aa881

Browse files
committed
Updates for SPT 3.11
1 parent aeeafd1 commit 02aa881

File tree

279 files changed

+2471
-1097
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

279 files changed

+2471
-1097
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
github: refringe
2+
ko_fi: refringe

.github/ISSUE_TEMPLATE/GENERAL.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,14 @@ body:
3030
label: SPT Version
3131
description: What version of SPT are you running?
3232
options:
33-
- 3.10.x
34-
- 3.9.x
35-
- 3.8.x
33+
- "3.11"
3634
validations:
3735
required: true
3836
- type: textarea
3937
id: server-log
4038
attributes:
4139
label: Server Log
42-
description: Please paste the *entire* relevant server log (found in `user/logs/` directory) into this field.
40+
description: Please paste your entire server log into this input. Be sure to include the beginning where all of your mods, and mod versions, are loaded/listed.
4341
render: shell
4442
validations:
4543
required: true

.github/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ This mod gives you the following configurable extract options:
1313

1414
_\*All options are disabled by default_
1515

16+
This is a server-only mod. Client based extract options are not within the scope of this mod. Examples of these are flare extract options and code extract options.
17+
1618
# To install:
1719

1820
1. Decompress the contents of the download into your root SPT directory.
19-
2. Open the `OpenExtracts/config/config.json5` file to adjust configuration options.
21+
2. Open the `refringe-openextracts/config/config.json5` file to adjust configuration options.
2022
3. Leave a review and let me know what you think.
2123

2224
If you experience any problems, please [submit a detailed bug report](https://github.com/refringe/OpenExtracts/issues).
@@ -25,13 +27,13 @@ If you experience any problems, please [submit a detailed bug report](https://gi
2527

2628
This project has been built in [Visual Studio Code](https://code.visualstudio.com/) (VSC) using [Node.js](https://nodejs.org/). If you are unfamiliar with Node.js, I recommend using [NVM](https://github.com/nvm-sh/nvm) to manage installation and switching versions. If you do not wish to use NVM, you will need to install the version of Node.js listed within the `.nvmrc` file manually.
2729

28-
This project uses [Prettier](https://prettier.io/) to format code on save.
30+
This project uses [Biome](https://biomejs.dev/) to format code on save.
2931

3032
To build the project locally:
3133

3234
1. Clone the repository.
3335
2. Open the `mod.code-workspace` file in Visual Studio Code (VSC).
34-
3. Install the [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) VSC extension.
36+
3. Install the [Biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) VSC extension.
3537
4. Install the [JSON5](https://marketplace.visualstudio.com/items?itemName=mrmlnc.vscode-json5) VSC extension.
3638
5. Run `nvm use` in the terminal.
3739
6. Run `npm install` in the terminal.

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v20.11.1
1+
v22.12.0

package-lock.json

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "open-extracts",
3-
"version": "1.6.0",
3+
"version": "1.6.1",
44
"main": "src/OpenExtracts.js",
55
"license": "MIT",
66
"author": "Refringe",
7-
"sptVersion": "~3.10",
7+
"sptVersion": "~3.11",
88
"scripts": {
99
"setup": "npm i",
1010
"postinstall": "node ./postInstall.mjs",
@@ -18,12 +18,12 @@
1818
},
1919
"devDependencies": {
2020
"@biomejs/biome": "1.9.4",
21-
"@types/node": "22.10.10",
21+
"@types/node": "22.10.5",
2222
"archiver": "7.0.1",
23-
"fs-extra": "11.3.0",
23+
"fs-extra": "11.2.0",
2424
"ignore": "7.0.3",
2525
"tsyringe": "4.8.0",
26-
"typescript": "5.7.3",
26+
"typescript": "5.8.2",
2727
"winston": "3.17.0"
2828
}
2929
}

types/ProgramStatics.d.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { EntryType } from "./models/enums/EntryType";
2+
export declare class ProgramStatics {
3+
private static _ENTRY_TYPE;
4+
private static _DEBUG;
5+
private static _COMPILED;
6+
private static _MODS;
7+
private static _EXPECTED_NODE;
8+
private static _SPT_VERSION;
9+
private static _COMMIT;
10+
private static _BUILD_TIME;
11+
static initialize(): void;
12+
static get ENTRY_TYPE(): EntryType;
13+
static get DEBUG(): boolean;
14+
static get COMPILED(): boolean;
15+
static get MODS(): boolean;
16+
static get EXPECTED_NODE(): string;
17+
static get SPT_VERSION(): string;
18+
static get COMMIT(): string;
19+
static get BUILD_TIME(): number;
20+
}

types/callbacks/ClientLogCallbacks.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { ClientLogController } from "@spt/controllers/ClientLogController";
22
import { ModLoadOrder } from "@spt/loaders/ModLoadOrder";
33
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
4+
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
5+
import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig";
6+
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
47
import { IClientLogRequest } from "@spt/models/spt/logging/IClientLogRequest";
58
import { ConfigServer } from "@spt/servers/ConfigServer";
69
import { LocalisationService } from "@spt/services/LocalisationService";
@@ -12,6 +15,9 @@ export declare class ClientLogCallbacks {
1215
protected configServer: ConfigServer;
1316
protected localisationService: LocalisationService;
1417
protected modLoadOrder: ModLoadOrder;
18+
protected botConfig: IBotConfig;
19+
protected pmcConfig: IPmcConfig;
20+
protected insuranceConfig: IInsuranceConfig;
1521
constructor(httpResponse: HttpResponseUtil, clientLogController: ClientLogController, configServer: ConfigServer, localisationService: LocalisationService, modLoadOrder: ModLoadOrder);
1622
/**
1723
* Handle /singleplayer/log
@@ -25,4 +31,5 @@ export declare class ClientLogCallbacks {
2531
* Handle /singleplayer/enableBSGlogging
2632
*/
2733
bsgLogging(): string;
34+
private handleClientLog;
2835
}
Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { CustomizationController } from "@spt/controllers/CustomizationController";
2-
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
3-
import { IPmcData } from "@spt/models/eft/common/IPmcData";
4-
import { ISuit } from "@spt/models/eft/common/tables/ITrader";
5-
import { IBuyClothingRequestData } from "@spt/models/eft/customization/IBuyClothingRequestData";
6-
import { IGetSuitsResponse } from "@spt/models/eft/customization/IGetSuitsResponse";
7-
import { IWearClothingRequestData } from "@spt/models/eft/customization/IWearClothingRequestData";
8-
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
9-
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
2+
import type { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
3+
import type { IPmcData } from "@spt/models/eft/common/IPmcData";
4+
import type { ICustomisationStorage } from "@spt/models/eft/common/tables/ICustomisationStorage";
5+
import type { ISuit } from "@spt/models/eft/common/tables/ITrader";
6+
import type { IBuyClothingRequestData } from "@spt/models/eft/customization/IBuyClothingRequestData";
7+
import type { ICustomizationSetRequest } from "@spt/models/eft/customization/ICustomizationSetRequest";
8+
import type { IHideoutCustomisation } from "@spt/models/eft/hideout/IHideoutCustomisation";
9+
import type { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
10+
import type { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
1011
import { SaveServer } from "@spt/servers/SaveServer";
1112
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
1213
export declare class CustomizationCallbacks {
@@ -18,18 +19,20 @@ export declare class CustomizationCallbacks {
1819
* Handle client/trading/customization/storage
1920
* @returns IGetSuitsResponse
2021
*/
21-
getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetSuitsResponse>;
22+
getCustomisationUnlocks(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICustomisationStorage[]>;
2223
/**
2324
* Handle client/trading/customization
2425
* @returns ISuit[]
2526
*/
2627
getTraderSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISuit[]>;
27-
/**
28-
* Handle CustomizationWear event
29-
*/
30-
wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
3128
/**
3229
* Handle CustomizationBuy event
3330
*/
34-
buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
31+
buyCustomisation(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
32+
/** Handle client/hideout/customization/offer/list */
33+
getHideoutCustomisation(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutCustomisation>;
34+
/** Handle client/customization/storage */
35+
getStorage(url: string, request: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICustomisationStorage[]>;
36+
/** Handle CustomizationSet */
37+
setCustomisation(pmcData: IPmcData, request: ICustomizationSetRequest, sessionID: string): IItemEventRouterResponse;
3538
}

types/callbacks/DialogueCallbacks.d.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import { IGetMailDialogViewRequestData } from "@spt/models/eft/dialog/IGetMailDi
2121
import { IGetMailDialogViewResponseData } from "@spt/models/eft/dialog/IGetMailDialogViewResponseData";
2222
import { IPinDialogRequestData } from "@spt/models/eft/dialog/IPinDialogRequestData";
2323
import { IRemoveDialogRequestData } from "@spt/models/eft/dialog/IRemoveDialogRequestData";
24-
import { IRemoveMailMessageRequest } from "@spt/models/eft/dialog/IRemoveMailMessageRequest";
2524
import { IRemoveUserGroupMailRequest } from "@spt/models/eft/dialog/IRemoveUserGroupMailRequest";
2625
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
2726
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
@@ -101,7 +100,6 @@ export declare class DialogueCallbacks implements OnUpdate {
101100
/** Handle client/friend/ignore/remove */
102101
unIgnoreFriend(url: string, request: IUIDRequestData, sessionID: string): INullResponseData;
103102
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
104-
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
105103
createGroupMail(url: string, info: ICreateGroupMailRequest, sessionID: string): IGetBodyResponseData<any[]>;
106104
changeMailGroupOwner(url: string, info: IChangeGroupMailOwnerRequest, sessionID: string): IGetBodyResponseData<any[]>;
107105
addUserToMail(url: string, info: IAddUserGroupMailRequest, sessionID: string): IGetBodyResponseData<any[]>;

0 commit comments

Comments
 (0)