@wayward/types 2.14.4-beta.dev.20250218.1 → 2.14.4-beta.dev.20250221.1
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.
- package/definitions/game/game/IObject.d.ts +3 -2
- package/definitions/game/game/entity/action/ActionsRegistration.d.ts +5 -5
- package/definitions/game/game/entity/action/actions/Absorb.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Alter.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Enhance.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Exude.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Transmogrify.d.ts +1 -1
- package/definitions/game/game/item/Item.d.ts +1 -1
- package/definitions/game/game/item/ItemFinder.d.ts +2 -1
- package/definitions/game/game/item/ItemReference.d.ts +3 -3
- package/definitions/game/save/upgrade/versions/beta2.14.4/beta.2.14.4-dev20250220.d.ts +12 -0
- package/definitions/game/ui/screen/screens/game/static/actions/ActionSlot.d.ts +2 -0
- package/package.json +1 -1
@@ -10,6 +10,7 @@
|
|
10
10
|
*/
|
11
11
|
import type { BiomeType } from "@wayward/game/game/biome/IBiome";
|
12
12
|
import type { SkillType } from "@wayward/game/game/entity/IHuman";
|
13
|
+
import type { ItemType } from "@wayward/game/game/item/IItem";
|
13
14
|
import type { TerrainType } from "@wayward/game/game/tile/ITerrain";
|
14
15
|
import type { ISerializedTranslation } from "@wayward/game/language/ITranslation";
|
15
16
|
import type { IEventEmitter } from "@wayward/utilities/event/EventEmitter";
|
@@ -21,9 +22,9 @@ export interface IObject<T> {
|
|
21
22
|
}
|
22
23
|
export interface IObjectDescription extends IHasImagePath {
|
23
24
|
/**
|
24
|
-
* Set to
|
25
|
+
* Set to an item type that will derive its decayMax from when its state is changed. This property is set on unlit torches for example where we want to store the decay, but not use it.
|
25
26
|
*/
|
26
|
-
storeDecay?:
|
27
|
+
storeDecay?: ItemType;
|
27
28
|
/**
|
28
29
|
* number of game ticks until decay
|
29
30
|
*/
|
@@ -13,9 +13,9 @@
|
|
13
13
|
* Otherwise you're going to slow down your IDE
|
14
14
|
*/
|
15
15
|
export declare const actionDescriptionsSlow: {
|
16
|
-
109: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.
|
16
|
+
109: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Absorb").IAbsorbCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
17
17
|
51: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/AddFuel").IAddFuelCanUse, [import("../../item/Item").default, import("../../item/Item").default]>;
|
18
|
-
95: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.
|
18
|
+
95: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Alter").IAlterCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
19
19
|
75: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("./actions/ConsumeItem").IConsumeItemCanUse, [import("../../item/Item").default]>;
|
20
20
|
139: import("./Action").Action<[], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, []>;
|
21
21
|
78: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/AttachContainer").IAttachContainerCanUse, [import("../../item/Item").default]>;
|
@@ -62,11 +62,11 @@ export declare const actionDescriptionsSlow: {
|
|
62
62
|
132: import("./Action").Action<[[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/DumpItems").IDumpItemsCanUse, [import("../../doodad/Doodad").default | import("../../item/Item").default]>;
|
63
63
|
7: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("./actions/ConsumeItem").IConsumeItemCanUse, [import("../../item/Item").default]>;
|
64
64
|
83: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Enchant").IEnchantCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
65
|
-
93: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.
|
65
|
+
93: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Enhance").IEnhanceCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
66
66
|
63: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("./argument/ActionArgumentEnum").default<import("../IHuman").EquipType, "None" | "Held" | "Legs" | "Chest" | "Head" | "Waist" | "Feet" | "Neck" | "Hands" | "Back" | "MainHand" | "OffHand" | "DualWield">], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, boolean, import("@wayward/game/game/entity/action/actions/Equip").IEquipCanUse, [import("../../item/Item").default, import("../IHuman").EquipType]>;
|
67
67
|
129: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, boolean, import("@wayward/game/game/entity/action/actions/SwapWithArmorStand").ISwapEquipment, [(import("../../doodad/Doodad").default | undefined)?]>;
|
68
68
|
38: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [(import("../../doodad/Doodad").default | import("../../item/Item").default | undefined)?]>;
|
69
|
-
110: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.
|
69
|
+
110: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Exude").IExudeCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
70
70
|
36: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Attack").IAttackCloseUpCanUse | import("@wayward/game/game/entity/action/actions/Attack").IAttackThrowItemCanUse | import("@wayward/game/game/entity/action/actions/Attack").IAttackRangedWeaponCanUse, [import("../../item/Item").default]>;
|
71
71
|
22: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.Tile]], import("../../doodad/Doodad").default | import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void | Promise<void>, import("@wayward/game/game/entity/action/actions/Gather").IGatherCanUse, [(import("../../item/Item").default | undefined)?, (import("../../tile/Tile").default | undefined)?]>;
|
72
72
|
15: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/GatherLiquid").IGatherLiquidCanUse, [import("../../item/Item").default]>;
|
@@ -172,7 +172,7 @@ export declare const actionDescriptionsSlow: {
|
|
172
172
|
112: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/ToggleTilled").ITillCanUse, [(import("../../item/Item").default | undefined)?]>;
|
173
173
|
102: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/ToggleVehicle").ToggleVehicleCanUse, [(import("../../doodad/Doodad").default | import("../../item/Item").default | undefined)?]>;
|
174
174
|
73: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.NPCNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("./actions/trade/TradeArgument").TradeArgument]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/NPCInteract").INPCInteractUsable, [import("../npc/NPC").default, (import("./actions/trade/TradeArgument").ITradeArgument | undefined)?]>;
|
175
|
-
35: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.
|
175
|
+
35: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Transmogrify").ITransmogrifyCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
|
176
176
|
124: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Uncage").IUncageCanUse, [import("../../item/Item").default]>;
|
177
177
|
64: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [(import("../../item/Item").default | undefined)?]>;
|
178
178
|
77: import("./Action").Action<[], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/ToggleHitch").IToggleHitchCanUse, []>;
|
@@ -17,5 +17,5 @@ export interface IAbsorbCanUse extends IActionUsable {
|
|
17
17
|
absorbTarget: Item;
|
18
18
|
magic: MagicalPropertyManager;
|
19
19
|
}
|
20
|
-
declare const _default: Action<[ActionArgument.
|
20
|
+
declare const _default: Action<[ActionArgument.ItemNearby, [arg1: ActionArgument.Undefined, ActionArgument.ItemNearby]], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IAbsorbCanUse, [Item, (Item | undefined)?]>;
|
21
21
|
export default _default;
|
@@ -17,5 +17,5 @@ export interface IAlterCanUse extends IActionUsable {
|
|
17
17
|
alterationTarget: Item;
|
18
18
|
targetMagic: MagicalPropertyManager;
|
19
19
|
}
|
20
|
-
declare const _default: Action<[ActionArgument.
|
20
|
+
declare const _default: Action<[ActionArgument.ItemNearby, [arg1: ActionArgument.Undefined, ActionArgument.ItemNearby]], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IAlterCanUse, [Item, (Item | undefined)?]>;
|
21
21
|
export default _default;
|
@@ -15,5 +15,5 @@ import type Item from "@wayward/game/game/item/Item";
|
|
15
15
|
export interface IEnhanceCanUse extends IActionUsable {
|
16
16
|
enhanceTarget: Item;
|
17
17
|
}
|
18
|
-
declare const _default: Action<[ActionArgument.
|
18
|
+
declare const _default: Action<[ActionArgument.ItemNearby, [arg1: ActionArgument.Undefined, ActionArgument.ItemNearby]], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IEnhanceCanUse, [Item, (Item | undefined)?]>;
|
19
19
|
export default _default;
|
@@ -17,5 +17,5 @@ export interface IExudeCanUse extends IActionUsable {
|
|
17
17
|
exudeTarget: Item;
|
18
18
|
exudeItemMagic: MagicalPropertyManager;
|
19
19
|
}
|
20
|
-
declare const _default: Action<[ActionArgument.
|
20
|
+
declare const _default: Action<[ActionArgument.ItemNearby, [arg1: ActionArgument.Undefined, ActionArgument.ItemNearby]], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IExudeCanUse, [Item, (Item | undefined)?]>;
|
21
21
|
export default _default;
|
@@ -15,5 +15,5 @@ import type Item from "@wayward/game/game/item/Item";
|
|
15
15
|
export interface ITransmogrifyCanUse extends IActionUsable {
|
16
16
|
transmogrifyTarget: Item;
|
17
17
|
}
|
18
|
-
declare const _default: Action<[ActionArgument.
|
18
|
+
declare const _default: Action<[ActionArgument.ItemNearby, [arg1: ActionArgument.Undefined, ActionArgument.ItemNearby]], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, ITransmogrifyCanUse, [Item, (Item | undefined)?]>;
|
19
19
|
export default _default;
|
@@ -231,7 +231,7 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
|
|
231
231
|
* Returns the maximum decay of an item, or undefined if the item does not have the decayMax or storeDecay property.
|
232
232
|
* @returns A number or undefined.
|
233
233
|
*/
|
234
|
-
canDecay():
|
234
|
+
canDecay(): number | undefined;
|
235
235
|
getDecayRate(isClientSide: boolean): number;
|
236
236
|
getPreservationDecayMultiplier(): number;
|
237
237
|
getTemperatureDecayMultiplier(isClientSide: boolean): number;
|
@@ -15,6 +15,7 @@ import type { IGetBestItemsOptions } from "@wayward/game/game/item/IItemManager"
|
|
15
15
|
import type Item from "@wayward/game/game/item/Item";
|
16
16
|
import type ItemManager from "@wayward/game/game/item/ItemManager";
|
17
17
|
import Observer from "@wayward/game/utilities/Observer";
|
18
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
18
19
|
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
19
20
|
export interface IItemFinderOptions extends Partial<IGetBestItemsOptions> {
|
20
21
|
/**
|
@@ -24,7 +25,7 @@ export interface IItemFinderOptions extends Partial<IGetBestItemsOptions> {
|
|
24
25
|
fallback?: ItemFinder;
|
25
26
|
postFilter?(item: Item): boolean;
|
26
27
|
}
|
27
|
-
export interface IItemFinderEvents {
|
28
|
+
export interface IItemFinderEvents extends IEventSubscriberEvents {
|
28
29
|
track(): any;
|
29
30
|
dispose(): any;
|
30
31
|
}
|
@@ -22,20 +22,20 @@ interface IItemReferenceEvents {
|
|
22
22
|
clear(): void;
|
23
23
|
}
|
24
24
|
export default class ItemReference extends EventEmitter.Host<IItemReferenceEvents> implements IItemReference, IUnserializedCallback {
|
25
|
-
static
|
26
|
-
static item(item?: Item | IItemReference): Item | undefined;
|
25
|
+
static create(item?: Item | IItemReference): ItemReference | undefined;
|
27
26
|
event: IEventEmitter<this, IItemReferenceEvents>;
|
28
27
|
private registeredForEvents;
|
29
28
|
islandId: IslandId | undefined;
|
30
29
|
itemId: number | undefined;
|
31
30
|
constructor(item?: Item | IItemReference);
|
31
|
+
dispose(): void;
|
32
32
|
raw(): IItemReference;
|
33
33
|
onUnserialized(): void;
|
34
34
|
get isValid(): boolean;
|
35
35
|
get island(): Island | undefined;
|
36
36
|
get item(): Item | undefined;
|
37
37
|
set(reference?: Item | IItemReference): void;
|
38
|
-
clear
|
38
|
+
private clear;
|
39
39
|
private onItemMovedIsland;
|
40
40
|
private onItemRemove;
|
41
41
|
onStoppingPlay(): void;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2011-2024 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;
|
12
|
+
export default _default;
|
@@ -81,6 +81,8 @@ export declare class ActionSlot extends Button implements IRefreshable, ItemSlot
|
|
81
81
|
protected onHoldingNotDragging(time: number): void;
|
82
82
|
protected onPlay(): void;
|
83
83
|
refresh(slotData?: IActionBarSlotData, reason?: ActionSlotUpdateReason): this;
|
84
|
+
private clearLastItem;
|
85
|
+
private setLastItem;
|
84
86
|
private onItemTransformed;
|
85
87
|
isUsable(using?: IUsableActionPossibleUsing | undefined, action?: UsableAction<IUsableActionRequirements, IUsableActionDefinition> | undefined): UsableActionUsability;
|
86
88
|
clear(): void;
|
package/package.json
CHANGED