brs-js 2.0.4 → 2.0.5

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.
@@ -12,6 +12,7 @@ export declare type UnrealColor = [number, number, number, number];
12
12
  export declare type UnrealByte = number;
13
13
  export declare type UnrealRotator = [number, number, number];
14
14
  export declare type UnrealType = UnrealClass | UnrealObject | UnrealBoolean | UnrealFloat | UnrealColor | UnrealByte | UnrealRotator;
15
+ declare type UnrealTypeFromString<T> = T extends 'Class' ? UnrealClass : T extends 'Object' ? UnrealObject : T extends 'Boolean' ? UnrealBoolean : T extends 'Float' ? UnrealFloat : T extends 'Color' ? UnrealColor : T extends 'Byte' ? UnrealByte : T extends 'Rotator' ? UnrealRotator : UnrealType;
15
16
  export interface User {
16
17
  id: Uuid;
17
18
  name: string;
@@ -46,7 +47,7 @@ export interface AppliedComponent {
46
47
  export interface DefinedComponents {
47
48
  BCD_SpotLight?: {
48
49
  version: 1;
49
- brick_indices: number[];
50
+ brick_indices?: number[];
50
51
  properties: {
51
52
  Rotation: 'Rotator';
52
53
  InnerConeAngle: 'Float';
@@ -60,7 +61,7 @@ export interface DefinedComponents {
60
61
  };
61
62
  BCD_PointLight?: {
62
63
  version: 1;
63
- brick_indices: number[];
64
+ brick_indices?: number[];
64
65
  properties: {
65
66
  bMatchBrickShape: 'Boolean';
66
67
  Brightness: 'Float';
@@ -72,7 +73,7 @@ export interface DefinedComponents {
72
73
  };
73
74
  BCD_ItemSpawn?: {
74
75
  version: 1;
75
- brick_indices: number[];
76
+ brick_indices?: number[];
76
77
  properties: {
77
78
  PickupClass: 'Class';
78
79
  bPickupEnabled: 'Boolean';
@@ -95,14 +96,14 @@ export interface DefinedComponents {
95
96
  };
96
97
  BCD_Interact?: {
97
98
  version: 1;
98
- brick_indices: number[];
99
+ brick_indices?: number[];
99
100
  properties: {
100
101
  bPlayInteractSound: 'Boolean';
101
102
  };
102
103
  };
103
104
  BCD_AudioEmitter?: {
104
105
  version: 1;
105
- brick_indices: number[];
106
+ brick_indices?: number[];
106
107
  properties: {
107
108
  AudioDescriptor: 'Object';
108
109
  VolumeMultiplier: 'Float';
@@ -114,63 +115,19 @@ export interface DefinedComponents {
114
115
  };
115
116
  [component_name: string]: {
116
117
  version: number;
117
- brick_indices: number[];
118
+ brick_indices?: number[];
118
119
  properties: {
119
120
  [property: string]: string;
120
121
  };
121
122
  };
122
123
  }
123
- export interface Components {
124
- BCD_SpotLight?: {
125
- Rotation: UnrealRotator;
126
- InnerConeAngle: UnrealFloat;
127
- OuterConeAngle: UnrealFloat;
128
- Brightness: UnrealFloat;
129
- Radius: UnrealFloat;
130
- Color: UnrealColor;
131
- bUseBrickColor: UnrealBoolean;
132
- bCastShadows: UnrealBoolean;
133
- };
134
- BCD_PointLight?: {
135
- bMatchBrickShape: UnrealBoolean;
136
- Brightness: UnrealFloat;
137
- Radius: UnrealFloat;
138
- Color: UnrealColor;
139
- bUseBrickColor: UnrealBoolean;
140
- bCastShadows: UnrealBoolean;
141
- };
142
- BCD_ItemSpawn?: {
143
- PickupClass: UnrealClass;
144
- bPickupEnabled: UnrealBoolean;
145
- bPickupRespawnOnMinigameReset: UnrealBoolean;
146
- PickupMinigameResetRespawnDelay: UnrealFloat;
147
- bPickupAutoDisableOnPickup: UnrealBoolean;
148
- PickupRespawnTime: UnrealFloat;
149
- PickupOffsetDirection: UnrealByte;
150
- PickupOffsetDistance: UnrealFloat;
151
- PickupRotation: UnrealRotator;
152
- PickupScale: UnrealFloat;
153
- bPickupAnimationEnabled: UnrealBoolean;
154
- PickupAnimationAxis: UnrealByte;
155
- bPickupAnimationAxisLocal: UnrealBoolean;
156
- PickupSpinSpeed: UnrealFloat;
157
- PickupBobSpeed: UnrealFloat;
158
- PickupBobHeight: UnrealFloat;
159
- PickupAnimationPhase: UnrealFloat;
160
- };
161
- BCD_Interact?: {
162
- bPlayInteractSound: UnrealBoolean;
163
- };
164
- BCD_AudioEmitter?: {
165
- AudioDescriptor: UnrealObject;
166
- VolumeMultiplier: UnrealFloat;
167
- PitchMultiplier: UnrealFloat;
168
- InnerRadius: UnrealFloat;
169
- MaxDistance: UnrealFloat;
170
- bSpatialization: UnrealBoolean;
124
+ export declare type Components = {
125
+ [T in keyof DefinedComponents]: {
126
+ [V in keyof DefinedComponents[T]['properties']]: UnrealTypeFromString<DefinedComponents[T]['properties'][V]>;
171
127
  };
128
+ } & {
172
129
  [component_name: string]: AppliedComponent;
173
- }
130
+ };
174
131
  export declare type Vector = [number, number, number];
175
132
  export interface BrickV1 {
176
133
  asset_name_index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brs-js",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "description": "Brickadia Save Read/Writing",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/types.ts CHANGED
@@ -23,6 +23,22 @@ export type UnrealType =
23
23
  | UnrealByte
24
24
  | UnrealRotator;
25
25
 
26
+ type UnrealTypeFromString<T> = T extends 'Class'
27
+ ? UnrealClass
28
+ : T extends 'Object'
29
+ ? UnrealObject
30
+ : T extends 'Boolean'
31
+ ? UnrealBoolean
32
+ : T extends 'Float'
33
+ ? UnrealFloat
34
+ : T extends 'Color'
35
+ ? UnrealColor
36
+ : T extends 'Byte'
37
+ ? UnrealByte
38
+ : T extends 'Rotator'
39
+ ? UnrealRotator
40
+ : UnrealType;
41
+
26
42
  export interface User {
27
43
  id: Uuid;
28
44
  name: string;
@@ -64,7 +80,7 @@ export interface AppliedComponent {
64
80
  export interface DefinedComponents {
65
81
  BCD_SpotLight?: {
66
82
  version: 1;
67
- brick_indices: number[];
83
+ brick_indices?: number[];
68
84
  properties: {
69
85
  Rotation: 'Rotator';
70
86
  InnerConeAngle: 'Float';
@@ -78,7 +94,7 @@ export interface DefinedComponents {
78
94
  };
79
95
  BCD_PointLight?: {
80
96
  version: 1;
81
- brick_indices: number[];
97
+ brick_indices?: number[];
82
98
  properties: {
83
99
  bMatchBrickShape: 'Boolean';
84
100
  Brightness: 'Float';
@@ -90,7 +106,7 @@ export interface DefinedComponents {
90
106
  };
91
107
  BCD_ItemSpawn?: {
92
108
  version: 1;
93
- brick_indices: number[];
109
+ brick_indices?: number[];
94
110
  properties: {
95
111
  PickupClass: 'Class';
96
112
  bPickupEnabled: 'Boolean';
@@ -113,12 +129,12 @@ export interface DefinedComponents {
113
129
  };
114
130
  BCD_Interact?: {
115
131
  version: 1;
116
- brick_indices: number[];
132
+ brick_indices?: number[];
117
133
  properties: { bPlayInteractSound: 'Boolean' };
118
134
  };
119
135
  BCD_AudioEmitter?: {
120
136
  version: 1;
121
- brick_indices: number[];
137
+ brick_indices?: number[];
122
138
  properties: {
123
139
  AudioDescriptor: 'Object';
124
140
  VolumeMultiplier: 'Float';
@@ -130,62 +146,18 @@ export interface DefinedComponents {
130
146
  };
131
147
  [component_name: string]: {
132
148
  version: number;
133
- brick_indices: number[];
149
+ brick_indices?: number[];
134
150
  properties: { [property: string]: string };
135
151
  };
136
152
  }
137
153
 
138
- export interface Components {
139
- BCD_SpotLight?: {
140
- Rotation: UnrealRotator;
141
- InnerConeAngle: UnrealFloat;
142
- OuterConeAngle: UnrealFloat;
143
- Brightness: UnrealFloat;
144
- Radius: UnrealFloat;
145
- Color: UnrealColor;
146
- bUseBrickColor: UnrealBoolean;
147
- bCastShadows: UnrealBoolean;
148
- };
149
- BCD_PointLight?: {
150
- bMatchBrickShape: UnrealBoolean;
151
- Brightness: UnrealFloat;
152
- Radius: UnrealFloat;
153
- Color: UnrealColor;
154
- bUseBrickColor: UnrealBoolean;
155
- bCastShadows: UnrealBoolean;
156
- };
157
- BCD_ItemSpawn?: {
158
- PickupClass: UnrealClass;
159
- bPickupEnabled: UnrealBoolean;
160
- bPickupRespawnOnMinigameReset: UnrealBoolean;
161
- PickupMinigameResetRespawnDelay: UnrealFloat;
162
- bPickupAutoDisableOnPickup: UnrealBoolean;
163
- PickupRespawnTime: UnrealFloat;
164
- PickupOffsetDirection: UnrealByte;
165
- PickupOffsetDistance: UnrealFloat;
166
- PickupRotation: UnrealRotator;
167
- PickupScale: UnrealFloat;
168
- bPickupAnimationEnabled: UnrealBoolean;
169
- PickupAnimationAxis: UnrealByte;
170
- bPickupAnimationAxisLocal: UnrealBoolean;
171
- PickupSpinSpeed: UnrealFloat;
172
- PickupBobSpeed: UnrealFloat;
173
- PickupBobHeight: UnrealFloat;
174
- PickupAnimationPhase: UnrealFloat;
154
+ export type Components = {
155
+ [T in keyof DefinedComponents]: {
156
+ [V in keyof DefinedComponents[T]['properties']]: UnrealTypeFromString<
157
+ DefinedComponents[T]['properties'][V]
158
+ >;
175
159
  };
176
- BCD_Interact?: {
177
- bPlayInteractSound: UnrealBoolean;
178
- };
179
- BCD_AudioEmitter?: {
180
- AudioDescriptor: UnrealObject;
181
- VolumeMultiplier: UnrealFloat;
182
- PitchMultiplier: UnrealFloat;
183
- InnerRadius: UnrealFloat;
184
- MaxDistance: UnrealFloat;
185
- bSpatialization: UnrealBoolean;
186
- };
187
- [component_name: string]: AppliedComponent;
188
- }
160
+ } & { [component_name: string]: AppliedComponent };
189
161
 
190
162
  export type Vector = [number, number, number];
191
163