1
1
# DataProvider
2
2
[ ![ Build Status] ( https://scrutinizer-ci.com/g/VectorNetworkProject/DataProvider/badges/build.png?b=master )] ( https://scrutinizer-ci.com/g/VectorNetworkProject/DataProvider/build-status/master )
3
+ [ ![ ] ( https://poggit.pmmp.io/ci.shield/Pluginproject/VectorNetworkProject/UserdataProvider )] ( https://poggit.pmmp.io/ci/VectorNetworkProject/UserdataProvider )
4
+ データを格納するためのプラグイン。テーブルの粒度は小さめに!
5
+ ## テーブル
3
6
4
- データを格納するためのプラグイン
7
+ ### accounts
5
8
6
- ##使い方
9
+ | Column | Type | Description |
10
+ | :----: | :---: | :---------: |
11
+ | id | int | 登録したときに自動的に付与されます |
12
+ | name | string | プレイヤーの名前です。 |
7
13
14
+ UserdataProviderで基本となる情報を扱うテーブルです。ここに記載されたIDをもとに各テーブルの管理を行います。
15
+ sqlite.sql上ではidをメインにやり取りしていますが、デベロッパーが扱う際はラップしたクラス群の関数を使ってください。
16
+
17
+ ### ffapvp
18
+
19
+ | Column | Type | Description |
20
+ | :----: | :---: | :---------: |
21
+ | id | int | プレイヤーと対応するaccountsテーブルのid |
22
+ | kill | int | キル数 |
23
+ | death | int | デス数 |
24
+ | exp | int | EXP |
25
+
26
+ ### dual
27
+
28
+ | Column | Type | Description |
29
+ | :----: | :---: | :---------: |
30
+ | id | int | プレイヤーと対応するaccountsテーブルのid |
31
+ | kill | int | キル数 |
32
+ | death | int | デス数 |
33
+ | win | int | 勝利数 |
34
+ | lose | int| 敗北数 |
35
+
36
+ ### corepvp
37
+
38
+ | Column | Type | Description |
39
+ | :----: | :---: | :---------: |
40
+ | id | int | プレイヤーと対応するaccountsテーブルのid |
41
+ | kill | int | キル数 |
42
+ | death | int | デス数 |
43
+ | win | int | 勝利数 |
44
+ | lose | int| 敗北数 |
45
+ | exp | int | exp |
46
+
47
+ ## 使い方
8
48
``` PHP
9
49
public function onEnable()
10
50
{
@@ -15,10 +55,21 @@ public funciton onPlayerJoin(PlayerJoinEvent $event)
15
55
{
16
56
$this->accounts->get(
17
57
$event->player,
18
- function (array $rows) use($player)
58
+ function(array $rows) use($player): void
19
59
{
20
- $player->sendMessage("あなたのIDは$raws[0][id]です");
60
+ if($rows[0] !== null)
61
+ {
62
+ $player->sendMessage("あなたのIDは$raws[0][id]です");
63
+ }
64
+ },
65
+ function(SqlError $error, ?Exception $trace): void //https://github.com/poggit/libasynql/blob/master/libasynql/src/poggit/libasynql/base/DataConnectorImpl.php#L196
66
+ {
67
+ var_dump($error, $trace);
21
68
}
22
69
);
23
70
}
24
- ``````
71
+ ```
72
+
73
+ クエリの終了時、またはエラー時の際の処理をクロージャで渡してください。
74
+ 終了時の引数は` array $rows ` で結果が` $rows[<順番>][<カラム名>] ` で格納されます。エラー時の引数は上記の通り` SqlError $error, ?Ecxeption $trace ` となります。` SqlError ` については[ SqlError] ( https://github.com/poggit/libasynql/blob/master/libasynql/src/poggit/libasynql/SqlError.php ) を参照してください。
75
+ ` $raws[<int>] ` に格納されているデータは基本的に` accounts ` の` name ` カラムとそれぞれのテーブルのカラムを複合したものになります。`
0 commit comments