-
Notifications
You must be signed in to change notification settings - Fork 0
/
actor model join world procedure.drawio
274 lines (274 loc) · 28.3 KB
/
actor model join world procedure.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<mxfile>
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="627" dy="457" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0"/>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0"/>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-92" value="" style="ellipse;whiteSpace=wrap;html=1;dashed=1;sketch=0;rotation=32;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="479.03" y="734.44" width="312.75" height="148.94" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-88" value="" style="ellipse;whiteSpace=wrap;html=1;dashed=1;sketch=0;rotation=-5;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="507.02" y="680.03" width="122.39" height="412.5" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-77" value="" style="ellipse;whiteSpace=wrap;html=1;dashed=1;sketch=0;rotation=32;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="253.81000000000003" y="606.5300000000001" width="372.39" height="148.94" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-76" value="" style="ellipse;whiteSpace=wrap;html=1;dashed=1;sketch=0;rotation=-15;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="20" y="587.93" width="409.49" height="126.25" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-75" value="" style="ellipse;whiteSpace=wrap;html=1;dashed=1;sketch=0;rotation=-15;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="60" y="620" width="209.49" height="472.5" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-72" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;dashed=1;sketch=0;fillColor=none;strokeColor=#C4C4C4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="160" y="940" width="220" height="220" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-8" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-4" target="MgZhCzcLtIKRf-mGNC0m-0" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="220" y="280" as="sourcePoint"/>
<mxPoint x="380" y="280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-15" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-9" target="MgZhCzcLtIKRf-mGNC0m-4" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="310" y="260" as="sourcePoint"/>
<mxPoint x="470" y="260" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-23" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-18" target="MgZhCzcLtIKRf-mGNC0m-9" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="310" y="670" as="sourcePoint"/>
<mxPoint x="470" y="670" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-0" value="MinecraftServer" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="40" y="80" width="160" height="104" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-1" value="+ listener: TcpListener" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-0" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-2" value="+ key_pair: Arc<Rsa>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-0" vertex="1">
<mxGeometry y="52" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-3" value="+ universe: UniverseHandle" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-0" vertex="1">
<mxGeometry y="78" width="160" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-28" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-24" target="MgZhCzcLtIKRf-mGNC0m-18" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="280" y="780" as="sourcePoint"/>
<mxPoint x="440" y="780" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-4" value="Universe" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="280" y="80" width="290" height="130" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-6" value="- worlds: Map<id, WorldHandle>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-4" vertex="1">
<mxGeometry y="26" width="290" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-7" value="- world_futures: Map<id, JoinHandle<BlockWorld>>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-4" vertex="1">
<mxGeometry y="52" width="290" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-5" value="+ tags: UniverseTags" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-4" vertex="1">
<mxGeometry y="78" width="290" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-14" value="+ eid_gen: EntityIdGenerator" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-4" vertex="1">
<mxGeometry y="104" width="290" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-9" value="BlockWorld" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="280" y="280" width="240" height="208" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-22" value="- regions: Map<position, RegionHandle>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-10" value="+ id: NamespacedKey" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="52" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-11" value="+ universe: UniverseHandle" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="78" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-12" value="+ generator: ChunkGenerator" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="104" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-13" value="+ loader: ChunkLoader" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="130" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-16" value="+ entities: EntityList" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="156" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-17" value="+ spawn_position: Vec3d<f64>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-9" vertex="1">
<mxGeometry y="182" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-18" value="Region" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="560" y="280" width="200" height="78" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-19" value="+ position: RegionPosition" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-18" vertex="1">
<mxGeometry y="26" width="200" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-20" value="+ chunks: [Chunk?; 2*2]" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-18" vertex="1">
<mxGeometry y="52" width="200" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-24" value="Chunk" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="560" y="400" width="140" height="78" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-25" value="+ blocks: ..." style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-24" vertex="1">
<mxGeometry y="26" width="140" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-34" value="+ light: ..." style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-24" vertex="1">
<mxGeometry y="52" width="140" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-35" value="<div>MinecraftServer</div>" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="90" y="645" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-36" value="<div>Universe<br></div>" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="320" y="585" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-37" value="World" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="540" y="710" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-38" value="Region" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="570" y="1000" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-39" value="Sender" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="300" y="1050" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-40" value="Receiver" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="210" y="970" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-41" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-40" target="MgZhCzcLtIKRf-mGNC0m-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="800" as="sourcePoint"/>
<mxPoint x="370" y="800" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-42" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="MgZhCzcLtIKRf-mGNC0m-41" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-5.02" y="8.46" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-43" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-36" target="MgZhCzcLtIKRf-mGNC0m-37" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="350" y="810" as="sourcePoint"/>
<mxPoint x="450" y="810" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-44" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="MgZhCzcLtIKRf-mGNC0m-43" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-26.06" y="-15.53" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-45" value="Join World" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="180" y="830" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-46" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-35" target="MgZhCzcLtIKRf-mGNC0m-36" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="700" as="sourcePoint"/>
<mxPoint x="400" y="700" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-47" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="MgZhCzcLtIKRf-mGNC0m-46" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-10" y="-7" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-48" value="Join World" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="195" y="620" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-49" value="Join World" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="430" y="645" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-50" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-37" target="MgZhCzcLtIKRf-mGNC0m-40" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="380" y="800" as="sourcePoint"/>
<mxPoint x="480" y="800" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-52" value="Joined World" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="860" width="80" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-53" value="Entity" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="80" y="280" width="140" height="78" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-54" value="+ id: u32" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-53" vertex="1">
<mxGeometry y="26" width="140" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-56" value="+ position: Vec<f64>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="MgZhCzcLtIKRf-mGNC0m-53" vertex="1">
<mxGeometry y="52" width="140" height="26" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-57" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-53" target="MgZhCzcLtIKRf-mGNC0m-9" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="60" y="460" as="sourcePoint"/>
<mxPoint x="220" y="460" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-58" value="Player" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="700" y="820" width="30" height="60" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-59" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-58" target="MgZhCzcLtIKRf-mGNC0m-37" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="990" as="sourcePoint"/>
<mxPoint x="520" y="990" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-60" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="MgZhCzcLtIKRf-mGNC0m-59" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-10" y="-7" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-66" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="440.0046560672902" y="673.9985545836878" width="20" height="14" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-71" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="384.00109060454076" y="860.0027770994529" width="20" height="14" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-78" value="Subscribe Chunk" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="620" y="770" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-79" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="560" y="770.0025" as="sourcePoint"/>
<mxPoint x="690" y="859.3775" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-80" value="Creates" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" parent="MgZhCzcLtIKRf-mGNC0m-79" connectable="0" vertex="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-82" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="155.01505643748374" y="830.5407778515187" width="20" height="14" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-83" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="189.99711814767375" y="645.0033604832156" width="20" height="14" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-84" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="404.0046560672902" y="647.9985545836878" width="20" height="14" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-85" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-37" target="MgZhCzcLtIKRf-mGNC0m-38" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="550" y="920" as="sourcePoint"/>
<mxPoint x="650" y="920" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-86" value="" style="shape=message;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="MgZhCzcLtIKRf-mGNC0m-85" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-10" y="-7" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-87" value="Subscribe Chunk" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="520" y="890" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-89" value="" style="endArrow=classic;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="MgZhCzcLtIKRf-mGNC0m-38" target="MgZhCzcLtIKRf-mGNC0m-39" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="1130" as="sourcePoint"/>
<mxPoint x="540" y="1130" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-90" value="" style="shape=message;html=1;outlineConnect=0;" parent="MgZhCzcLtIKRf-mGNC0m-89" vertex="1">
<mxGeometry width="20" height="14" relative="1" as="geometry">
<mxPoint x="-10" y="-7" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="MgZhCzcLtIKRf-mGNC0m-91" value="Chunk Packets" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="405" y="1060" width="90" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>