@wayward/types 2.15.3-beta.dev.20260322.1 → 2.15.4-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/definitions/game/game/curse/Curse.d.ts +10 -0
  2. package/definitions/game/game/curse/CurseEvent.d.ts +6 -1
  3. package/definitions/game/game/curse/event/CurseEventSuffusedWithMagic.d.ts +13 -0
  4. package/definitions/game/game/doodad/Doodad.d.ts +20 -2
  5. package/definitions/game/game/doodad/DoodadManager.d.ts +6 -1
  6. package/definitions/game/game/doodad/DoodadUtilities.d.ts +7 -2
  7. package/definitions/game/game/doodad/IDoodad.d.ts +13 -3
  8. package/definitions/game/game/doodad/IScarecrows.d.ts +12 -0
  9. package/definitions/game/game/entity/Entity.d.ts +1 -0
  10. package/definitions/game/game/entity/Human.d.ts +8 -0
  11. package/definitions/game/game/entity/action/actions/SetTitle.d.ts +1 -1
  12. package/definitions/game/game/entity/action/actions/ToggleProtectItem.d.ts +2 -2
  13. package/definitions/game/game/entity/action/usable/IUsableAction.d.ts +4 -2
  14. package/definitions/game/game/entity/action/usable/UsableAction.d.ts +1 -0
  15. package/definitions/game/game/entity/action/usable/actions/UsableActionsDynamic.d.ts +3 -1
  16. package/definitions/game/game/entity/creature/CreatureManager.d.ts +3 -0
  17. package/definitions/game/game/entity/skill/SkillManager.d.ts +1 -0
  18. package/definitions/game/game/entity/status/handler/BadTemperatureEffect.d.ts +1 -1
  19. package/definitions/game/game/inspection/infoProviders/Uses.d.ts +1 -0
  20. package/definitions/game/game/inspection/infoProviders/doodad/DoodadFireSource.d.ts +20 -0
  21. package/definitions/game/game/inspection/infoProviders/doodad/DoodadLightSource.d.ts +19 -0
  22. package/definitions/game/game/inspection/infoProviders/doodad/DoodadUses.d.ts +5 -5
  23. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadAttachContainerInfo.d.ts +15 -0
  24. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadDisplayItemsInfo.d.ts +15 -0
  25. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadGatherInfo.d.ts +15 -0
  26. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadHitchInfo.d.ts +15 -0
  27. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadLockpickInfo.d.ts +15 -0
  28. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadPourInfo.d.ts +15 -0
  29. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadTestDepthInfo.d.ts +15 -0
  30. package/definitions/game/game/inspection/infoProviders/item/ItemUses.d.ts +1 -0
  31. package/definitions/game/game/inspection/infoProviders/item/use/ItemBuildInfo.d.ts +2 -2
  32. package/definitions/game/game/inspection/infoProviders/item/use/ItemCraftingIngredientInfo.d.ts +2 -2
  33. package/definitions/game/game/inspection/infoProviders/item/use/ItemEquipInfo.d.ts +1 -3
  34. package/definitions/game/game/inspection/infoProviders/item/use/ItemSleepInfo.d.ts +26 -0
  35. package/definitions/game/game/inspection/infoProviders/shared/SharedLightSourceInfo.d.ts +7 -23
  36. package/definitions/game/game/inspection/infoProviders/shared/SharedLitAndEquipmentUseInfo.d.ts +38 -0
  37. package/definitions/game/game/inspection/infoProviders/shared/SharedRequirementInfo.d.ts +28 -0
  38. package/definitions/game/game/inspection/infoProviders/shared/SharedScareRadiusInfo.d.ts +19 -0
  39. package/definitions/game/game/inspection/inspections/DoodadInspection.d.ts +1 -0
  40. package/definitions/game/game/inspection/inspections/ItemInspection.d.ts +1 -0
  41. package/definitions/game/game/item/IItem.d.ts +2 -0
  42. package/definitions/game/game/item/Item.d.ts +39 -9
  43. package/definitions/game/game/item/ItemManager.d.ts +5 -0
  44. package/definitions/game/game/magic/Endurance.d.ts +24 -0
  45. package/definitions/game/game/magic/IMagicalProperty.d.ts +3 -0
  46. package/definitions/game/game/magic/Perpetuity.d.ts +13 -0
  47. package/definitions/game/game/milestones/IMilestone.d.ts +3 -1
  48. package/definitions/game/game/milestones/MilestoneManager.d.ts +3 -0
  49. package/definitions/game/game/options/IGameOptions.d.ts +10 -0
  50. package/definitions/game/game/options/modifiers/milestone/MilestoneModifiersManager.d.ts +4 -0
  51. package/definitions/game/game/options/modifiers/milestone/modifiers/Defiled.d.ts +17 -0
  52. package/definitions/game/game/options/modifiers/milestone/modifiers/Warded.d.ts +17 -0
  53. package/definitions/game/game/temperature/ITemperature.d.ts +1 -0
  54. package/definitions/game/game/tile/TileEventManager.d.ts +1 -0
  55. package/definitions/game/language/Dictionary.d.ts +112 -110
  56. package/definitions/game/language/DictionaryMap.d.ts +224 -220
  57. package/definitions/game/language/Translation.d.ts +4 -1
  58. package/definitions/game/language/dictionary/Message.d.ts +699 -693
  59. package/definitions/game/language/dictionary/UiTranslation.d.ts +807 -803
  60. package/definitions/game/language/english/item/CursePropertyAffixes.d.ts +13 -0
  61. package/definitions/game/language/english/item/CurseSubPropertyAffixes.d.ts +13 -0
  62. package/definitions/game/mod/ModInformation.d.ts +2 -0
  63. package/definitions/game/mod/ModManager.d.ts +2 -0
  64. package/definitions/game/multiplayer/packets/server/UpdateCurseVisualStatePacket.d.ts +10 -0
  65. package/definitions/game/renderer/platform/webgl/WorldLayerRendererWebGl.d.ts +3 -0
  66. package/definitions/game/renderer/platform/webgpu/WorldLayerRendererWebGpu.d.ts +2 -0
  67. package/definitions/game/renderer/world/IWorldLayerRendererPlatform.d.ts +2 -0
  68. package/definitions/game/renderer/world/WorldLayerRenderer.d.ts +3 -0
  69. package/definitions/game/renderer/world/WorldRenderer.d.ts +0 -2
  70. package/definitions/game/save/SaveMetadata.d.ts +2 -4
  71. package/definitions/game/save/data/SaveData.d.ts +6 -4
  72. package/definitions/game/save/upgrade/versions/beta2.15.4/beta2.15.4-dev20260409.d.ts +12 -0
  73. package/definitions/game/save/upgrade/versions/beta2.15.4/beta2.15.4.d.ts +12 -0
  74. package/definitions/game/ui/Ui.d.ts +0 -1
  75. package/definitions/game/ui/input/Bindable.d.ts +7 -8
  76. package/definitions/game/ui/screen/screens/game/component/container/ContainerBucketItemList.d.ts +7 -0
  77. package/definitions/game/ui/screen/screens/game/static/Stats.d.ts +1 -0
  78. package/definitions/game/ui/screen/screens/game/static/stats/component/StatComponent.d.ts +1 -0
  79. package/definitions/game/ui/screen/screens/menu/component/RealTimeTickSpeedRow.d.ts +18 -0
  80. package/definitions/game/ui/screen/screens/menu/menus/mods/ModRow.d.ts +2 -0
  81. package/definitions/game/ui/screen/screens/menu/menus/newgame/TabMultiplayer.d.ts +3 -1
  82. package/definitions/game/ui/screen/screens/menu/menus/pause/GameSettingsMenu.d.ts +2 -2
  83. package/definitions/hosts/shared/globals.d.ts +2 -2
  84. package/definitions/test/suite/unitTests/game/ContainerBucketItemList.spec.d.ts +13 -0
  85. package/definitions/test/suite/unitTests/game/Curse.spec.d.ts +13 -0
  86. package/definitions/test/suite/unitTests/game/IslandTestUtilities.d.ts +1 -1
  87. package/definitions/test/suite/unitTests/game/SaveLoad.spec.d.ts +13 -0
  88. package/definitions/test/suite/unitTests/game/game/milestones/MilestoneManager.spec.d.ts +13 -0
  89. package/definitions/test/suite/unitTests/game/mod/ModInformation.spec.d.ts +13 -0
  90. package/definitions/test/suite/unitTests/game/mod/ModManager.spec.d.ts +13 -0
  91. package/definitions/test/suite/unitTests/game/ui/screen/screens/game/component/ItemComponent.spec.d.ts +13 -0
  92. package/definitions/test/suite/unitTests/game/ui/screen/screens/menu/menus/mods/ModRow.spec.d.ts +13 -0
  93. package/definitions/utilities/random/SeededGenerator.d.ts +1 -0
  94. package/definitions/utilities/string/TextFileFormatting.d.ts +8 -0
  95. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import MagicalPropertyType from "@wayward/game/game/magic/MagicalPropertyType";
12
+ declare const cursePropertyAffixes: Descriptions<MagicalPropertyType, [adjective: string, noun: string]>;
13
+ export default cursePropertyAffixes;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { MagicalPropertyIdentityHash } from "@wayward/game/game/magic/IMagicalProperty";
12
+ declare const curseSubPropertyAffixes: PartialRecord<MagicalPropertyIdentityHash, [adjective: string, noun: string]>;
13
+ export default curseSubPropertyAffixes;
@@ -75,6 +75,8 @@ export declare class ModInformation implements IModInformation {
75
75
  getFileText(fileName: string): Promise<string | undefined>;
76
76
  get canPublish(): boolean;
77
77
  canLoad(fromModsMenu?: boolean, forMultiplayer?: boolean, count?: number): CanLoadState;
78
+ getActiveDuplicatePrecedenceState(): CanLoadState.LocalModPrecedence | CanLoadState.WorkshopModPrecedence | undefined;
79
+ private static compareDuplicateModPrecedence;
78
80
  save(): void;
79
81
  fillOutWorkshopMod(item?: IWorkshopItem): void;
80
82
  setState(state: ModState, force?: boolean, unloaded?: boolean): Promise<boolean>;
@@ -35,6 +35,8 @@ export default class ModManager extends EventEmitter.Host<IModManagerEvents> {
35
35
  protected setupMods(): Promise<void>;
36
36
  saveAll(): void;
37
37
  setupMod(folderName: string, modType: ModType, initialModState?: ModState): Promise<ModInformation | undefined>;
38
+ private normalizeDuplicateModState;
39
+ private static compareDuplicateModPrecedence;
38
40
  removeMod(mod: ModInformation, uninstall?: boolean): void;
39
41
  /**
40
42
  * Used by pro developers
@@ -17,5 +17,15 @@ export default class UpdateCurseVisualStatePacket extends PlayerTargetedServerPa
17
17
  getDebugInfo(): string;
18
18
  isSyncCheckEnabled(): boolean;
19
19
  isAllowedWhenPaused(): boolean;
20
+ protected writeData(): void;
21
+ protected readData(): void;
20
22
  process(): void;
23
+ private writeCurseVisualStateUpdate;
24
+ private readCurseVisualStateUpdate;
25
+ private writeOptionalUint32NumberArray;
26
+ private readOptionalUint32NumberArray;
27
+ private writeNullableInt8;
28
+ private readNullableInt8;
29
+ private writeNullableUint16Vector2;
30
+ private readNullableUint16Vector2;
21
31
  }
@@ -20,10 +20,13 @@ export declare class WorldLayerRendererWebGl implements IWorldLayerRendererPlatf
20
20
  texLightBlock: WebGLTexture;
21
21
  texLightLevel: WebGLTexture;
22
22
  texExplored: WebGLTexture;
23
+ texCurseMask: WebGLTexture;
23
24
  constructor(context: WebGlRendererContext, worldLayerRenderer: WorldLayerRenderer);
24
25
  delete(): void;
25
26
  setWorldLayer(worldLayer: WorldLayer, exploreMap: ExploreMap, sizeChanged: boolean, exploredData?: Uint8Array): void;
26
27
  setExploredAlpha(tiles: IExploredTileAlpha[]): void;
28
+ setCurseMaskData(worldLayer: WorldLayer, data: Uint8Array): void;
29
+ setCurseMaskAlpha(tiles: IExploredTileAlpha[]): void;
27
30
  updateTileLightBlock(x: number, y: number, value: number): void;
28
31
  updateTileLightBlockMap(lightBlockMap: Uint8Array): void;
29
32
  }
@@ -19,6 +19,8 @@ export declare class WorldLayerRendererWebGpu implements IWorldLayerRendererPlat
19
19
  delete(): void;
20
20
  setWorldLayer(worldLayer: WorldLayer, exploreMap: ExploreMap, sizeChanged: boolean, exploredData?: Uint8Array): void;
21
21
  setExploredAlpha(tiles: IExploredTileAlpha[]): void;
22
+ setCurseMaskData(worldLayer: WorldLayer, data: Uint8Array): void;
23
+ setCurseMaskAlpha(tiles: IExploredTileAlpha[]): void;
22
24
  updateTileLightBlock(x: number, y: number, value: number): void;
23
25
  updateTileLightBlockMap(lightBlockMap: Uint8Array): void;
24
26
  }
@@ -15,6 +15,8 @@ export interface IWorldLayerRendererPlatform {
15
15
  delete(): void;
16
16
  setWorldLayer(worldLayer: WorldLayer, exploreMap: ExploreMap, sizeChanged: boolean, exploredData?: Uint8Array): void;
17
17
  setExploredAlpha(tiles: IExploredTileAlpha[]): void;
18
+ setCurseMaskData(worldLayer: WorldLayer, data: Uint8Array): void;
19
+ setCurseMaskAlpha(tiles: IExploredTileAlpha[]): void;
18
20
  updateTileLightBlock(x: number, y: number, value: number): void;
19
21
  updateTileLightBlockMap(lightBlockMap: Uint8Array): void;
20
22
  }
@@ -74,6 +74,9 @@ export declare class WorldLayerRenderer extends EventEmitter.Host<IWorldLayerRen
74
74
  reset(): void;
75
75
  setWorldLayer(worldLayer: WorldLayer, exploredMapClientData: ExploredMapClientData): void;
76
76
  setExploredAlpha(tiles: IExploredTileAlpha[]): void;
77
+ setCurseMaskData(data: Uint8Array): void;
78
+ setCurseMaskAlpha(tiles: IExploredTileAlpha[]): void;
79
+ private getCurseMaskData;
77
80
  addTileLayer(tileLayer: ITileLayerRendererPlatform): void;
78
81
  updateAll(): void;
79
82
  updateDoodad({ x, y }: Tile, flushTileImmediately: boolean, { doodadDescription, doodadInfo, doodadVariationX, doodadVariationY, terrainMasks }: IDoodadUpdate): void;
@@ -26,7 +26,6 @@ import WallTileAdaptor from "@wayward/game/renderer/tile/adaptors/Wall";
26
26
  import type TileAtlas from "@wayward/game/renderer/tile/atlas/TileAtlas";
27
27
  import type { IBounds } from "@wayward/game/renderer/world/IWorldRenderer";
28
28
  import { RenderFlag, SpriteBatchLayer } from "@wayward/game/renderer/world/IWorldRenderer";
29
- import type { WorldLayer } from "@wayward/game/renderer/world/WorldLayer";
30
29
  import { WorldLayerRenderer } from "@wayward/game/renderer/world/WorldLayerRenderer";
31
30
  import EventEmitter from "@wayward/utilities/event/EventEmitter";
32
31
  import type { IRendererContext } from "@wayward/game/renderer/context/IRendererContext";
@@ -34,7 +33,6 @@ import type { IWorldRendererPlatform } from "@wayward/game/renderer/world/IWorld
34
33
  import type { IVector2 } from "@wayward/game/utilities/math/IVector";
35
34
  import Vector2 from "@wayward/game/utilities/math/Vector2";
36
35
  export interface IWorldRendererEvents {
37
- getExploredMapTextureData(data: Uint8Array, worldLayer: WorldLayer): Uint8Array;
38
36
  /**
39
37
  * Called when calculating creatures in the viewport
40
38
  * @param creature The creature object
@@ -12,16 +12,14 @@ import { PlayerState } from "@wayward/game/game/entity/player/IPlayer";
12
12
  import type { GameMode, IGameOptions } from "@wayward/game/game/options/IGameOptions";
13
13
  import type { ISerializedTranslation } from "@wayward/game/language/ITranslation";
14
14
  import type { ISaveObject } from "@wayward/game/save/ISaveManager";
15
+ import type { IModManagerUnloadableInfo } from "@wayward/game/save/data/SaveData";
15
16
  import type { AnyPropertyToSerialize } from "@wayward/game/save/serializer/PropertiesToSerialize";
16
17
  import type Version from "@wayward/utilities/Version";
17
18
  interface SaveMetadata {
18
19
  slot?: number;
19
20
  path?: string;
20
21
  score: number;
21
- modsUnloadable: Record<string, {
22
- name: string;
23
- unloadable: boolean;
24
- }>;
22
+ modsUnloadable: Record<string, IModManagerUnloadableInfo>;
25
23
  saveTime: number;
26
24
  createdTime: number;
27
25
  originalVersion?: Version.String;
@@ -18,6 +18,11 @@ import type EnumInfo from "@wayward/game/utilities/enum/EnumInfo";
18
18
  import type Version from "@wayward/utilities/Version";
19
19
  import type { IBuildId } from "@wayward/hosts/shared/globalTypes";
20
20
  export declare const saveDataVersionUnknown = "Unknown";
21
+ export interface IModManagerUnloadableInfo {
22
+ name: string;
23
+ unloadable: boolean;
24
+ unloaded?: boolean;
25
+ }
21
26
  export default class SaveData {
22
27
  gameSlotName: string;
23
28
  gameState: PlayerState.Won | PlayerState.Ghost | PlayerState.None;
@@ -42,10 +47,7 @@ export default class SaveData {
42
47
  gameCreationInfo: Readonly<IGameCreationInfo>;
43
48
  saveManagerDeathBy: ISerializedTranslation;
44
49
  modManagerSaveData: Record<string, any>;
45
- modManagerUnloadable: Record<string, {
46
- name: string;
47
- unloadable: boolean;
48
- }>;
50
+ modManagerUnloadable: Record<string, IModManagerUnloadableInfo>;
49
51
  multiplayerState: IMultiplayerState;
50
52
  multiplayerMessageOfTheDay: string;
51
53
  utilitiesEnumsAllocated: Record<string, EnumInfo>;
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ declare const _default: import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersionDefinition<unknown>;
12
+ export default _default;
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ declare const _default: Record<string, import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersion>;
12
+ export default _default;
@@ -132,7 +132,6 @@ export declare class Ui extends EventEmitter.Host<IUiEvents> {
132
132
  protected onHideStackItemsHint(): void;
133
133
  protected onTooltipsToggle(): boolean;
134
134
  protected onFullscreen(): boolean;
135
- protected onToggleDevMode(): boolean;
136
135
  protected onReload(api: IBindHandlerApi): boolean;
137
136
  protected onReloadWithoutSaving(api: IBindHandlerApi): boolean;
138
137
  protected onToggleDevTools(): boolean;
@@ -254,14 +254,13 @@ declare enum Bindable {
254
254
  MenuSelect = 235,
255
255
  DeveloperInterfaceScaleUp = 236,
256
256
  DeveloperInterfaceScaleDown = 237,
257
- DeveloperToggleDeveloperMode = 238,
258
- DeveloperToggleDeveloperTools = 239,
259
- DeveloperReloadGame = 240,
260
- DeveloperReloadWithoutSavingGame = 241,
261
- DeveloperReloadAndContinueGame = 242,
262
- DeveloperReloadWithoutSavingAndContinueGame = 243,
263
- DeveloperReloadStylesheets = 244,
264
- DeveloperReloadTextures = 245
257
+ DeveloperToggleDeveloperTools = 238,
258
+ DeveloperReloadGame = 239,
259
+ DeveloperReloadWithoutSavingGame = 240,
260
+ DeveloperReloadAndContinueGame = 241,
261
+ DeveloperReloadWithoutSavingAndContinueGame = 242,
262
+ DeveloperReloadStylesheets = 243,
263
+ DeveloperReloadTextures = 244
265
264
  }
266
265
  export default Bindable;
267
266
  export declare enum BindableType {
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { Quality } from "@wayward/game/game/IObject";
12
12
  import type Human from "@wayward/game/game/entity/Human";
13
+ import type { ItemTypeExtra } from "@wayward/game/game/item/IItem";
13
14
  import { ItemType, type IContainer } from "@wayward/game/game/item/IItem";
14
15
  import type { IMoveItemOptions } from "@wayward/game/game/item/IItemManager";
15
16
  import type Item from "@wayward/game/game/item/Item";
@@ -72,6 +73,12 @@ interface ItemListDifferenceItemDifference {
72
73
  itemId: number;
73
74
  item?: Item | string;
74
75
  }
76
+ export interface IStackedItemSortPosition {
77
+ itemType?: ItemType | ItemTypeExtra;
78
+ protected?: boolean;
79
+ isStack?: boolean;
80
+ }
81
+ export declare function isValidStackedItemSortPosition(itemType: ItemType | ItemTypeExtra, stackedItemsLength: number, componentBefore?: IStackedItemSortPosition, componentAfter?: IStackedItemSortPosition): boolean;
75
82
  export type ItemListDifference = undefined | ItemListDifferenceSize | ItemListDifferenceItemDifference;
76
83
  export default class ContainerBucketItemList extends Component implements ISortableComponent {
77
84
  event: IEventEmitter<this, IContainerBucketItemListEvents>;
@@ -40,6 +40,7 @@ export declare class Stats extends Component {
40
40
  setHuman(human: Human): this;
41
41
  private refresh;
42
42
  protected onMilestonesUpdate(): void;
43
+ protected onGlobalDiscoveryChange(): void;
43
44
  /**
44
45
  * Returns an object containing iterables for all stats that exist on the player and have a description,
45
46
  * separated by how a given stat should be displayed
@@ -40,6 +40,7 @@ export default abstract class StatComponent extends Component {
40
40
  private subscribe;
41
41
  refresh(): void;
42
42
  private onUpdateMilestone;
43
+ protected onGlobalDiscoveryChange(): void;
43
44
  protected onRemove(): void;
44
45
  /**
45
46
  * Returns the attached entity's `IStat` for this `StatElement`'s `Stat`.
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import { RangeRow } from "@wayward/game/ui/component/RangeRow";
12
+ export interface IRealTimeTickSpeedRowOptions {
13
+ refreshValue: () => number;
14
+ onFinish?: (value: number) => any;
15
+ }
16
+ export default class RealTimeTickSpeedRow extends RangeRow {
17
+ constructor({ refreshValue, onFinish }: IRealTimeTickSpeedRowOptions);
18
+ }
@@ -25,6 +25,8 @@ export default class ModRow extends CheckButton {
25
25
  shouldDisableButtonButtonsOnUnchecked(): boolean;
26
26
  insertMetadata(into: Component, mod: ModInformation, context: "tooltip" | "menu"): ModMetadataInserter;
27
27
  setEnabled(enabled: boolean, prompts?: boolean, changingAllStates?: boolean): Promise<boolean>;
28
+ private isTogglable;
29
+ private disableConflictingDuplicateMods;
28
30
  protected onToggle(checked: boolean): Promise<void>;
29
31
  private checkDependants;
30
32
  private checkDependencies;
@@ -13,6 +13,7 @@ import ChoiceList, { Choice } from "@wayward/game/ui/component/ChoiceList";
13
13
  import { RangeRow } from "@wayward/game/ui/component/RangeRow";
14
14
  import ChoiceListTurnMode from "@wayward/game/ui/screen/screens/menu/component/ChoiceListTurnModes";
15
15
  import { Tab } from "@wayward/game/ui/screen/screens/menu/component/Menu";
16
+ import RealTimeTickSpeedRow from "@wayward/game/ui/screen/screens/menu/component/RealTimeTickSpeedRow";
16
17
  import type NewGameMenu from "@wayward/game/ui/screen/screens/menu/menus/NewGameMenu";
17
18
  export default class TabMultiplayer extends Tab {
18
19
  readonly choiceSingleplayer: Choice<undefined>;
@@ -27,10 +28,11 @@ export default class TabMultiplayer extends Tab {
27
28
  readonly inputAllowTraveling: CheckButton;
28
29
  readonly inputAllowHardcoreRespawns: CheckButton;
29
30
  readonly maxPlayersRow: RangeRow;
30
- readonly tickSpeedRow: RangeRow;
31
+ readonly tickSpeedRow: RealTimeTickSpeedRow;
31
32
  private readonly menuRef;
32
33
  get menu(): NewGameMenu;
33
34
  constructor(menu: NewGameMenu);
34
35
  private onChangeMultiplayerMode;
35
36
  private onChangeTurnMode;
37
+ private updateTickSpeedRowVisibility;
36
38
  }
@@ -9,12 +9,12 @@
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
11
  import Button from "@wayward/game/ui/component/Button";
12
- import { RangeRow } from "@wayward/game/ui/component/RangeRow";
13
12
  import ChoiceListTurnMode from "@wayward/game/ui/screen/screens/menu/component/ChoiceListTurnModes";
14
13
  import Menu from "@wayward/game/ui/screen/screens/menu/component/Menu";
14
+ import RealTimeTickSpeedRow from "@wayward/game/ui/screen/screens/menu/component/RealTimeTickSpeedRow";
15
15
  export default class GameSettingsMenu extends Menu {
16
16
  readonly turnMode: ChoiceListTurnMode;
17
- readonly tickSpeed: RangeRow;
17
+ readonly tickSpeed: RealTimeTickSpeedRow;
18
18
  readonly copyGameSeed: Button;
19
19
  constructor();
20
20
  protected refresh(): void;
@@ -9,8 +9,8 @@
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
11
  import type { IWaywardTitle } from "@wayward/hosts/shared/globalTypes";
12
- export declare const gameVersionStage = "beta", gameVersionMajor = 2, gameVersionMinor = 15, gameVersionPatch = 3, gameVersionName = "Cursebreaker", gameVersionColor = 5186397;
13
- export declare const gameVersion = "beta2.15.3";
12
+ export declare const gameVersionStage = "beta", gameVersionMajor = 2, gameVersionMinor = 15, gameVersionPatch = 4, gameVersionName = "Cursebreaker", gameVersionColor = 5186397;
13
+ export declare const gameVersion = "beta2.15.4";
14
14
  export declare const gameVersionTitleMajor = "Wayward: Cursebreaker";
15
15
  export declare const gameVersionTitleMinor: string;
16
16
  export declare const gameVersionTitle: string;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (paths: IPaths, config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { IPaths } from "@wayward/test/interfaces";
12
+ import type { TestConfig } from "@wayward/test";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -41,7 +41,7 @@ export declare namespace IslandTestUtilities {
41
41
  * Clear / reset the the state of the player/world
42
42
  */
43
43
  function beforeEach(context: TestRunContext, shouldMoveToNewIsland?: boolean): Promise<void>;
44
- function createItems(...items: Array<ItemType | ItemTypeGroup>): Item[];
44
+ function createItems(quality: Quality, ...items: Array<ItemType | ItemTypeGroup>): Item[];
45
45
  function createDoodad(doodadType: DoodadType): Doodad;
46
46
  function createCreature(creatureType: CreatureType, z?: WorldZ): Creature;
47
47
  function createNPC(npcType: NPCType, z?: WorldZ): NPC;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (paths: IPaths, config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import type { TestConfig } from "@wayward/test";
12
+ import type { IPaths } from "@wayward/test/interfaces";
13
+ export default function (_paths: IPaths, _config: TestConfig): void;
@@ -35,6 +35,7 @@ export declare abstract class SeededGenerator<T> implements IRandomGenerator {
35
35
  setSeed(newSeed: T): void;
36
36
  pushSeed(newSeed?: T): void;
37
37
  popSeed(): T;
38
+ withSeed(newSeed: T | undefined, withSeed: () => unknown): void;
38
39
  get(): number;
39
40
  startHistory(maxHistory?: number): void;
40
41
  getHistory(): Array<IRandomHistory<T>> | undefined;
@@ -0,0 +1,8 @@
1
+ export interface ITextFileFormatting {
2
+ hasUtf8Bom: boolean;
3
+ endOfLine: "\n" | "\r" | "\r\n";
4
+ hasFinalNewline: boolean;
5
+ }
6
+ export declare function getTextFileFormatting(contents: Uint8Array): ITextFileFormatting;
7
+ export declare function formatTextFileContents(text: string, existingContents?: Uint8Array): Uint8Array;
8
+ export declare function getUpdatedTextFileContents(text: string, existingContents?: Uint8Array): Uint8Array | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wayward/types",
3
3
  "description": "TypeScript declarations for Wayward, used for modding.",
4
- "version": "2.15.3-beta.dev.20260322.1",
4
+ "version": "2.15.4-beta",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",