プロジェクト

全般

プロフィール

トイレしないと死んでしまうプラグイン » 履歴 » バージョン 1

K69 天才ぺやんぐさん, 2022/03/08 01:30

1 1 K69 天才ぺやんぐさん
# トイレしないと死んでしまうプラグイン
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
+ パワーが限界値\(100\)を超過すると爆発する可能性があります。
30
31
---
32
33
# ToiletPlugin - 管理者向け
34
35
## トイレ設置の方法/目安\(ワールド準備手順\)
36
37
### トイレの設置方法
38
39
+ `/toilet tool <トイレ名>` コマンドを使用して、トイレ生成のためのツールを入手します。
40
+ そのツールを、置きたいトイレの扉の方向に向けて設置し、右クリックします。  
41
**注意**:設置場所周辺に 鉄のドア/大釜 がある場合、生成がバグる可能性があります。必ず、それらから5ブロック以上離れた場所で行ってください。
42
43
### トイレの除去方法
44
45
+ 除去したいトイレの 鉄のドア/大釜 手動で破壊します。
46
+ チャットにトイレに関する情報が表示されます。
47
+ そのメッセージの削除ボタンをクリックします。
48
+ トイレのインジケータなどのエンティティが除去されます。
49
+ あとは適当に手動で除去します。
50
51
### トイレの設置目安
52
53
+ トイレの間は200ブロック程度離すことが望ましい。
54
+ トイレの数はプレイヤ数の1/3程度が望ましい。
55
56
### トイレのモデルの作成方法
57
58
+ `/toilet tool toiletplugin:toilet_build_guideline_1.5x` コマンドを実行し、アイテムを入手します。
59
+ 入手したアイテムを設置し、右クリックします。
60
+ 看板の指示の通りに建築をします。
61
+ 岩盤の指示のとおりにストラクチャーブロックを設置し、保存します。
62
+ `/toilet reloadmodel` コマンドを実行します。
63
+ 保存したトイレは、 `/toilet tool <ストラクチャ名>` コマンドを使用し生成します。
64
65
66
## 設定一覧
67
68
+ 範囲指定について:  
69
  範囲指定のある設定は、`最小~最大`, `最小~`, `~最大` の書式で設定する必要があり、この一覧でも同じように記載されます。 
70
  また、範囲指定がある場合は、その範囲の中からランダムで選択されます。
71
72
### クエスト
73
74
#### クエスト => 時間
75
76
+ `questTime`:クエストの制限時間
77
  + 型:整数
78
  + 範囲:(1~)~(2~)
79
  + デフォルト:30~180
80
+ `scheduleTime`:クエストを実行するまでの時間\(スケジュール\)
81
  + 型:整数
82
  + 範囲:(1~)~(1~)
83
  + デフォルト:30~180
84
85
#### クエスト => スケジューラ
86
87
+ `autoScheduleOnJoin`:プレイヤがゲームを参加したときにクエストを自動スケジュール
88
  + 型:真偽
89
  + デフォルト:false
90
+ `autoRescheduleOnRespawn`:プレイヤがリスポーンしたときにクエストを自動スケジュール
91
  + 型:真偽
92
  + デフォルト:true
93
+ `autoRescheduleOnSuccess`:プレイヤがクエストを完了したときにクエストを自動スケジュール
94
  + 型:真偽
95
  + デフォルト:true
96
97
#### クエスト => クエスト中
98
99
+ `poopAmount`:1度のクエストで行う必要のある便の数
100
  + 型:整数
101
  + 範囲:(1~5)~(2~6)
102
  + デフォルト:1~3
103
+ `placeLavaOnFail`:プレイヤがクエストを失敗したとき、その位置に溶岩を設置します。
104
  + 型:真偽
105
  + デフォルト:false
106
+ `spreadPoopOnFail`:プレイヤがクエストを失敗したとき、周囲に便をばらまきます。
107
  + 型:真偽
108
  + デフォルト:true
109
+ `spreadPoopAmount`:ばらまく便の数です。
110
  + 型:整数
111
  + デフォルト:6
112
+ `spreadPoopDistanceMax`:ばらまく便の最大の強さです。\(Velocity\)
113
  + 型:倍精度浮動小数点数
114
  + デフォルト:0.6
115
116
### プレイヤ
117
118
#### プレイヤ => ロジック
119
120
+ `playerCooldownEnable`:プレイヤのトイレ後のクールダウン有効化
121
  + 型:真偽
122
  + デフォルト:true
123
+ `playerCooldownTime`:プレイヤのトイレ後のクールダウンの時間
124
  + 型:整数
125
  + 範囲:(1~)~(1~)
126
  + デフォルト:30~31
127
+ `respawnEnable`:リスポーンの有効化
128
  + 型:真偽
129
  + デフォルト:true
130
+ `respawnTime`:リスポーンまでの時間
131
  + 型:整数
132
  + 範囲:(1~)~(1~)
133
  + デフォルト:5~30
134
+ `broadcastOnQuestStart`:クエスト開始時にその内容をブロードキャストします。
135
  + 型:真偽
136
  + デフォルト:true
137
138
#### プレイヤ => 効果
139
140
+ `questingOppressiveSoundEnable`:クエスト中の緊迫感のある音の再生
141
  + 型:真偽
142
  + デフォルト:true
143
+ `glowingOnQuesting`:クエスト中のプレイヤの発光
144
  + 型:真偽
145
  + デフォルト:true
146
+ `glowingOnQuestingColorEnable`:クエスト中のプレイヤの発光を紅色にします。
147
  + 型:真偽
148
  + デフォルト:true
149
  + メモ:Bukkitのチーム機能を使用する場合、正常に動作しない可能性があります。
150
+ `explictExpressionEnable`:露骨な表現の有効化
151
  + 型:真偽
152
  + デフォルト:true
153
  + メモ:コンプラ的にまずい場合は`false`にセットしてください。
154
155
#### プレイヤ => アシスト
156
157
+ `giveToiletMap`:クエスト開始時に地図を与えます。
158
  + 型:真偽
159
  + デフォルト:true
160
161
### トイレ
162
163
#### トイレ => ロジック
164
165
+ `toiletCooldownEnable`:プレイヤの排便後の**トイレ**のクールダウン
166
  + 型:真偽
167
  + デフォルト:true
168
+ `toiletCooldownTime`:トイレのクールダウンの時間
169
  + 型:整数
170
  + 範囲:(1~)~(1~)
171
  + デフォルト:30~31
172
173
#### トイレ => ロジック => 排便
174
175
+ `defecationType`:排便の方法
176
  + 型:列挙
177
  + 使用可能:SHIFT_HOLD, SHIFT_MASH
178
  + デフォルト:SHIFT_HOLD
179
  + メモ:SHIFT_HOLD は、シフトを押し続けます。 SHIFT_MASHはシフトを連打します。
180
+ `strictDefacation`:排便時に大釜の中に必要があるか
181
  + 型:真偽
182
  + デフォルト:false
183
184
#### トイレ => ロジック => 排便 => パワー
185
186
+ `powerKeepCountSeconds`:排便時にパワーを維持する必要がある時間
187
  + 型:整数
188
  + 有効:0~10
189
   + デフォルト:5
190
+ `powerGainAmount`:スニークで与えるパワー
191
  + 型:整数
192
  + 有効:1~10
193
  + デフォルト:10
194
  + メモ:SHIFT_HOLDの場合は1秒に与えるパワー、SHIFT_MASHの場合は1回で与えるパワーです。
195
+ `powerLossOnSecAmount`:1秒で剥奪するパワー
196
  + 型:整数
197
  + 有効:1~99
198
  + デフォルト:20
199
+ `defecationNeedPower`:排便時に必要なパワー
200
  + 型:整数
201
  + 有効:1~100
202
  + デフォルト:80
203
+ `powerLossOnUnnecessaryActionAmount`:余計な動きをしたときに剥奪するパワー
204
  + 型:整数
205
  + 有効:0~
206
  + デフォルト:10
207
208
#### トイレ => ロジック => その他
209
210
+ `enablePowerBurst`:パワーが最大に達したときの爆発
211
  + 型:真偽
212
  + デフォルト:true
213
+ `stopTimerOnToilet`:トイレに入った瞬間にタイマーをとめます。
214
  + 型:真偽
215
  + デフォルト:false
216
217
## バランス調整
218
219
### バランス調整の方法
220
 
221
#### トイレ中にクエスト制限時間が来て、死んでしまう
222
223
以下の方法をそれぞれお試しください。
224
225
+ `stopTimerOnJoinToilet`を有効にする。
226
+ `poopAmount`を低い値にする。
227
+ `questTime`を延ばす。
228
+ `powerGainAmount`を増やす。
229
+ `defecationNeedPower`を減らす。
230
+ `powerKeepCountSeconds`を減らす。
231
232
#### 頻繁にクエストが来てしまい、サバイバルが行えない
233
234
+ scheduleTime を延ばす。
235
236
#### クエストが簡単すぎる
237
238
+ `poopAmount`を高い値にする。
239
+ `questTime`を減らす
240
+ `defecationNeedPower`を増やす。
241
+ `giveToiletMap`を無効にする。
242
+ `strictDefecation`を有効にする。
243
+ `powerLossOnUnnecessaryActionAmount`を増やす。
244
245
## コマンド
246
247
すべてのコマンドは`/toilet`ないしは`/poop`のサブコマンドです。
248
249
+ `config [<設定名:string> [値:any]]`
250
  + 設定を変更します。
251
    第二引数を省略した場合、現在の値が表示されます。
252
  + 第一引数を省略した場合、設定の一覧と型が表示されます。
253
+ `help [コマンド名:string]`
254
  + コマンドのリストを表示します。
255
  + 第一引数を指定した場合、そのコマンドのサブコマンド一覧が表示されます。
256
+ `quest [<サブコマンド名:string> [引数:any...]]`
257
  + クエストに関する操作を実行します。
258
  + 第一引数を省略した場合、サブコマンド一覧が表示されます。
259
  + サブコマンド:  
260
      + `cancel <プレイヤ名|セレクタ:string>`
261
          + プレイヤのクエストをキャンセルします。
262
          + そのプレイヤのクエストが進行中でないとキャンセルできません。
263
      + `schedule <プレイヤ名|セレクタ:string> [時間:秒:int]`
264
          + プレイヤのクエストをスケジュールします。
265
          + 第二引数を省略した場合、設定からランダムな時間が設定されます。
266
      + `start <プレイヤ名|セレクタ:string> [時間:秒:int]`
267
          + プレイヤのクエストを強制開始します。
268
          + すでにそのプレイヤのクエストが開始している場合は使用できません。
269
          + 第二引数を省略した場合、設定からランダムな時間が設定されます。
270
      + `status <プレイヤ名|セレクタ:string>`
271
          + プレイヤのステータスを表示します。
272
      + `unschedule <プレイヤ名|セレクタ:string>`
273
          + プレイヤのクエストのスケジュールを削除します。
274
+ `reloadmodel`
275
    + トイレのモデルを再読込します。
276
    + ストラクチャを新たに保存したり、`plugin/ToiletPlugin/assets`を変更した場合は実行してください。
277
+ `tool <アッセト名|ストラクチャ名>`
278
    + トイレを生成するためのツールを与えます。
279
280
### コマンド(本番環境での使用は非推奨)
281
+ debug [<サブコマンド名:string> [引数:any...]]`
282
  + デバッグ用のコマンドです。
283
  + 第一引数を省略した場合、サブコマンド一覧が表示されます。
284
  + サブコマンド:
285
      + `changeToiletCooldown <toiletName:toilet> <maxSeconds:秒:int> [remainingTime:秒:int] [state:State]`
286
          + トイレのクールダウンを変更します。
287
      + `chamgeToiletState <toiletName:toilet> <state:State>`
288
          + トイレの状態を変更します。
289
      + `createHD [entity:UUID] [text:string]`
290
          + プレイヤまたはエンティティの上にホログラムを作成します。
291
          + このコマンドはコードを変更しながら使用することを目的にしており、本番環境では絶対に使用しないでください。
292
      + `killPassengers`
293
          + 実行者にマウントしているエンティティをすべて殺します。
294
      + `playSound <sound:GameSound> <area:SoundArea> [volume:float] [pitch:float]`
295
          + 列挙型 GameSound に定義されている音を再生します。
296
          + VolumeまたはPitchを省略した場合、GameSound の定義通りに再生されます。
297
      + `purgeToiletLocalData <toiletName:toilet>` 
298
          + トイレのすべてのデータを削除します。
299
300
### API
301
+ `PlayerRespawnEvent`
302
  + プレイヤがリスポーンしたときに呼び出されます。
303
+ `PlayerToiletJoinEvent`
304
  + プレイヤがトイレに入ったときに呼び出されます。
305
+ `PlayerToiletQuitEvent`
306
  + プレイヤがトイレからでたときに呼び出されます。