@rbxts/replecs 0.1.0-alpha8 → 0.1.0-alpha9

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.
@@ -1,4 +1,4 @@
1
- import type { Entity, Tag, World } from "@rbxts/jecs";
1
+ import type { Entity, Id, Pair, Tag, World } from "@rbxts/jecs";
2
2
 
3
3
  declare namespace Replecs {
4
4
  export type SerdesTable =
@@ -56,19 +56,52 @@ declare namespace Replecs {
56
56
 
57
57
  init(world?: World): void;
58
58
  destroy(): void;
59
- after_replication(callback: () => void): void;
60
59
 
61
- apply_updates(buf: buffer, all_variants?: unknown[][]): void;
62
- apply_unreliable(buf: buffer, all_variants?: unknown[][]): void;
63
- apply_full(buf: buffer, all_variants?: unknown[][]): void;
60
+ handle_global(handler: (id: number) => Entity): void;
61
+
62
+ after_replication(callback: () => void): void;
63
+ added(callback: (entity: Entity) => void): () => void;
64
+ hook<T>(
65
+ action: "changed",
66
+ relation: Pair<MemberFilter, T>,
67
+ callback: (entity: Entity, id: Id<T>, value: T) => void
68
+ ): () => void;
69
+ hook<T>(
70
+ action: "removed",
71
+ relation: Pair<MemberFilter, T>,
72
+ callback: (entity: Entity, id: Id<T>) => void
73
+ ): () => void;
74
+ hook(
75
+ action: "deleted",
76
+ entity: Entity,
77
+ callback: (entity: Entity) => void
78
+ ): () => void;
79
+
80
+ override<T>(
81
+ action: "changed",
82
+ relation: Pair<MemberFilter, T>,
83
+ callback: (entity: Entity, id: Id<T>, value: any) => void
84
+ ): () => void;
85
+ override<T>(
86
+ action: "removed",
87
+ relation: Pair<MemberFilter, T>,
88
+ callback: (entity: Entity, id: Id<T>) => void
89
+ ): () => void;
90
+ override(
91
+ action: "deleted",
92
+ entity: Entity,
93
+ callback: (entity: Entity) => void
94
+ ): () => void;
64
95
 
65
96
  encode_component(component: Entity): number;
66
97
  decode_component(encoded: number): Entity;
67
98
 
68
- handle_global(handler: (id: number) => Entity): void;
69
-
70
99
  get_server_entity(client_entity: Entity): number | undefined;
71
100
  get_client_entity(server_entity: number): Entity | undefined;
101
+
102
+ apply_updates(buf: buffer, all_variants?: unknown[][]): void;
103
+ apply_unreliable(buf: buffer, all_variants?: unknown[][]): void;
104
+ apply_full(buf: buffer, all_variants?: unknown[][]): void;
72
105
  }
73
106
 
74
107
  export interface Server {
@@ -92,6 +125,9 @@ declare namespace Replecs {
92
125
  mark_player_ready(player: Player): void;
93
126
  is_player_ready(player: Player): boolean;
94
127
 
128
+ add_player_alias(client: Player, alias: defined): void;
129
+ remove_player_alias(alias: defined): void;
130
+
95
131
  masking: MaskingController;
96
132
  }
97
133
 
@@ -23,7 +23,7 @@ local replecs = {
23
23
  networked = jecs.component() :: jecs.Entity<(MemberFilter | Player)?>,
24
24
  reliable = jecs.component() :: jecs.Entity<(MemberFilter | Player)?>,
25
25
  unreliable = jecs.component() :: jecs.Entity<(MemberFilter | Player)?>,
26
- pair = jecs.tag(),
26
+ pair = jecs.component() :: jecs.Entity<(MemberFilter | Player)?>,
27
27
 
28
28
  serdes = jecs.component() :: jecs.Entity<common.Serdes>,
29
29
  bytespan = jecs.component() :: jecs.Entity<number>,
@@ -56,6 +56,8 @@ jecs.meta(replecs.pair, jecs.Name, "replecs.pair")
56
56
  jecs.meta(replecs.shared, jecs.Name, "replecs.shared")
57
57
  jecs.meta(replecs.global, jecs.Name, "replecs.global")
58
58
 
59
+ jecs.meta(replecs.__alive_tracking__, jecs.Name, "replecs.__alive_tracking__")
60
+
59
61
  jecs.meta(replecs.custom, jecs.Exclusive)
60
62
  jecs.meta(replecs.global, jecs.Exclusive)
61
63
 
@@ -0,0 +1 @@
1
+ export type FilterGroup = {}