TinyEssentials
概要
TinyEssentials は、BTC サーバーの「エッセンシャルズ」層で、EssentialsX に着想を得て、TypeWriter 上に構築されています。29 個のプレイヤー用およびスタッフ用のコマンド(ホーム、テレポートリクエスト、メッセージ、飛行、バニッシュ、回復など)、チャットフォーマッター、参加時のアイテム、死亡時のペナルティ(「スカベンジャー」)、タブリスト、スコアボードとボスバーのマネージャー、カレンダー付きのカスタムの 1 日の長さ、ファストトラベルメニュー、ゲーム内ウィキを提供します。
すべては Web パネルで設定します。各コマンドは独立したエントリなので、名前と権限を選べ、必要なコマンドだけを追加できます。メッセージは、1 つの Tiny Essentials 設定エントリで共有され、規模の大きな機能(ホーム、チャット、タブ、カレンダー)には、それぞれ独自のエントリがあります。
メニュー(ホーム、カレンダー、ファストトラベル、ウィキ)は、GUI 拡張機能と、ページ上で描くレイアウトを使って描画されます。
機能
- 29 個のコマンドエントリ — 飛行、ゴッドモード、満腹、回復、バニッシュ、速度、ゲームモード、修理、back、TPA、メッセージ、ホームなど。それぞれ、名前と権限を設定できます。
- ホーム — プレイヤーごとのホーム。権限による上限、クールダウン、エディタ(名前の変更、アイコン、削除)付きのページ付きメニュー、保存されるストレージに対応します。
- テレポートリクエスト — タイムアウト、オン/オフの切り替え、
/backの履歴を備えた、/tpaと/tpahere。 - プライベートメッセージ —
/msg、/reply、/msgtoggle。カラーコードは無効化されます。 - チャット形式 — 権限と優先度で選ばれる MiniMessage の形式。MySQL が共有モードで動作している場合は、Redis を通じてサーバー間で共有されます。
- タブリスト、スコアボード、ボスバー — ヘッダー/フッター、名前の書式、並べ替え、80 スロットのレイアウト、条件、アニメーション。
- 参加時のアイテム — 参加時またはリスポーン時に与えられるアイテム。クリックコマンドと保護フラグを持ちます。
- スカベンジャー — 死亡時のアイテムと経験値のパーセンテージでの損失、保護対象のアイテム、プレースホルダーに基づくペナルティ。
- カスタムの時間とカレンダー — 1 日の長さ、月、曜日、イベントを持つカレンダー、カレンダーメニュー、ファクト、オーディエンスフィルター、プレースホルダー。
- ファストトラベルとウィキ — ロック条件を持つ、リージョンごとのトラベルメニューと、セクションと記事からなるゲーム内ガイド。
インストール
- タブリスト機能に必要な PacketEvents をインストールします。
- TinyEssentials が依存関係として宣言している MySQL 拡張機能(Redis は、サーバー間のチャットとタブの名簿に使われます)と、メニュー用の GUI 拡張機能をインストールします。
- 任意: 他のサーバーのプレイヤー向けに、ネットワークチャットを翻訳するために、Translate をインストールします。
- TinyEssentials の JAR を
plugins/Typewriter/extensions/に置き、サーバーを再起動します。 - 権限プラグインで、コマンドの権限を付与します(権限の表を参照)。グループに基づくタブ機能は、
group.<name>という名前の権限を読み取ります。
はじめに
- TypeWriter の Web パネルで static ページを開き、Tiny Essentials エントリを 1 つ追加します。これがないと、すべてのコマンドが、TinyEssentials が設定されていないと応答します。
defaultTeleportCooldown、tpaTimeoutSeconds、backBufferSize、メッセージを調整します。 - 必要なコマンドエントリを追加します。たとえば、/fly、/tpa、/back です。
commandNameとpermissionは、そのままにするか、変更します。 - ホームには、Artifact Home と、それを
artifactで参照する Home Manager を追加し、続いて /home とその他のホームのコマンドを追加します。 - チャット形式には、
owner(権限group.owner、priority10、formatに<gold>[Owner] <player><white>: <message>)のようなgroupsと、fallbackFormatを持つ Chat Format を追加します。 - パブリッシュし、権限を付与して、プレイヤーでテストします。
Tiny Essentials と Home Manager のメッセージは、& のカラーコードと、{player} 形式のトークンを使います。チャット形式、タブリスト、メニューは MiniMessage を使います。
仕組み
各機能のエントリは、必要になったときに読み取られます。種類ごとに 1 つのエントリだけを使ってください(Tiny Essentials を 1 つ、Home Manager を 1 つ、Chat Format を 1 つ、Join Item を 1 つ、Scavenger を 1 つ)。拡張機能は、最初に見つかったものを使います。
設定
エントリのほかに、TinyEssentials は、次の実行時ルールに従います。
- テレポートのクールダウン —
/backと/tpaは、defaultTeleportCooldown秒、またはプレイヤーが権限を持つcooldownRulesの中で最大のcooldownSecondsだけ待ちます。allowMovementがオンでない限り、移動するとテレポートはキャンセルされます。エンダーパールやコーラスフルーツの着地へのテレポートは、/backの履歴に残りません。 - バニッシュと切り替え — バニッシュ、
/msgtoggle、/tpatoggleの状態は、プレイヤーに保存されるため、再起動や再接続後も維持されます。 - ネットワーク機能 — チャットとタブの名簿は、MySQL 拡張機能が共有スコープで動作している場合に Redis を使います。それ以外の場合は、ローカルに留まります。
- Tiny Essentials の廃止されたフィールド —
...Commandという名前のフィールド(msgCommand、flyCommandなど)とbasePermissionは適用されません。コマンド名と権限は、コマンドエントリにあります。これらの名前のフィールドは、使い方のメッセージにのみ表示されます。タブのフィールドbossbarToggleCommandとscoreboardToggleCommandも、コマンドとして登録されません。
メニュー
TinyEssentials は、GUI 拡張機能で作ったページ用のボタンタイプを提供します。
| メニュー | エントリ | ボタンタイプ |
|---|---|---|
| ホーム | Home Manager(メニューはエントリ内で設定) | なし。レイアウトは homesMenu と homeEditorMenu で設定します。 |
| カレンダー | Calendar Menu | calendar_button:DAY、WEEKDAY、EVENT、CALENDAR_SUMMARY、MONTH_NAV |
| ファストトラベル | Fast Travel Menu | travel_button:REGION_TAB、DESTINATION、REGION_SUMMARY |
| ウィキ | Wiki Menu | wiki_button:SECTION_TAB、ARTICLE、PAGE_NAV |
カレンダー、ファストトラベル、ウィキのメニューは、同じ方式を使います。共通の open_gui の土台(baseMenuId)、レイアウトのプール、ビューです。DAY や DESTINATION のようなインデックス付きのボタンは、データから順番に埋められます(グリッドは表示の上限で、余ったスロットは空のままです)。
ホームのメニューは、前、次、閉じるのボタン、埋め草のアイテム、空のホームスロット用のアイテムを備えたページ付きで、ホームをクリックして開くエディタがあります。テレポート、チャットでの名前変更(中止するには cancel と入力)、手に持っているアイテムからのアイコン設定、アイコンのリセット、削除ができます。
コマンド
すべてのコマンドは、エントリによって登録される brigadier のコマンドなので、クライアントでは補完が使えます。どのコマンドにもエイリアスはありません。適切な権限がないと、コマンドは非表示になります。プレイヤーを対象にするコマンドは、プレイヤーセレクターを受け付けます。他の人に対して実行するには、コマンドの実行時に確認される、対応する .others 権限が必要です。
自分用とスタッフ用のコマンド
| コマンド | 説明 | 権限 |
|---|---|---|
/fly [player] | 飛行を切り替えます。 | tinyessentials.fly(他者に対して: tinyessentials.fly.others) |
/god [player] | 無敵を切り替えます。 | tinyessentials.god(他者に対して: .god.others) |
/feed [player] | 空腹度と満腹度を回復します。 | tinyessentials.feed(他者に対して: .feed.others) |
/heal [player] | 体力、空腹度、空気を回復し、炎と凍結を消します。 | tinyessentials.heal(他者に対して: .heal.others) |
/vanish [player] | 他のプレイヤーから見えなくなる状態を切り替えます。再接続後も維持されます。 | tinyessentials.vanish(他者に対して: .vanish.others) |
/gamemode <survival|creative|adventure|spectator> [player] | ゲームモードを変更します。 | tinyessentials.gamemode(他者に対して: .gamemode.others) |
/speed <value> [walk|fly|sneak] [player] と /speed reset [walk|fly|sneak] | 速度を -20 から 20 の間で設定します。クリエイティブモードでのみ動作します。タイプを指定しない場合、飛行中のプレイヤーは飛行速度、それ以外は歩行速度になります。他のプレイヤーの速度を変更するには、.speed.others が必要です。 | tinyessentials.speed(他者に対して: .speed.others) |
/suicide | 自分を倒します。 | tinyessentials.suicide |
/repair | 手に持っているツール、武器、防具を修理します(ブロックや、耐久無限のアイテムは除く)。 | tinyessentials.repair |
/invsee <player> | 他のプレイヤーのインベントリを開きます。編集するには、tinyessentials.inventory.edit が必要です。 | tinyessentials.inventory(対象: .inventory.others) |
/pocketmenu <type> [--consume] | バニラのメニューを開きます。workbench、enchanting、anvil、smithing、grindstone、cartography、stonecutter、loom、brewing のいずれかです。--consume を付けると、エンチャントテーブルがレベルを消費します。 | tinyessentials.pocketmenu |
テレポートのコマンド
| コマンド | 説明 | 権限 |
|---|---|---|
/back | 以前の場所に戻ります(クールダウン付き)。 | tinyessentials.back |
/tpa <player> | プレイヤーのもとへテレポートする許可を求めます。 | tinyessentials.tpa |
/tpahere <player> | プレイヤーに、自分のもとへテレポートするよう求めます。 | tinyessentials.tpahere |
/tpaccept [player] | 最新のリクエスト、または指定したプレイヤーからのリクエストを承諾します。 | tinyessentials.tpaccept |
/tpadeny [player] | 最新のリクエスト、または指定したプレイヤーからのリクエストを拒否します。 | tinyessentials.tpadeny |
/tpatoggle | リクエストの受信を止める、または再開します。 | tinyessentials.tpatoggle |
/tppos <x> <y> [z] | 座標にテレポートします。 | tinyessentials.tppos |
/tpall | オンラインの全プレイヤーを、自分のもとにテレポートさせます。 | tinyessentials.tpall |
/getpos | 自分の位置、向き、ワールドを表示します。 | tinyessentials.getpos |
メッセージ
| コマンド | 説明 | 権限 |
|---|---|---|
/msg <player> <message> | プライベートメッセージを送ります。 | tinyessentials.msg |
/reply <message> | 最後の会話に返信します。 | tinyessentials.reply |
/msgtoggle | プライベートメッセージの受信を止める、または再開します。 | tinyessentials.msgtoggle |
ホーム — Home Manager の basePermission を設定している場合は、それも必要です。
| コマンド | 説明 | 権限 |
|---|---|---|
/home [name] | ホームにテレポートします。名前がない場合は、home という名前のホームです。 | tinyessentials.homes.teleport |
/home list(または ls) | ホームのメニューを開きます。 | tinyessentials.homes.list |
/home set|add|create|save [name] | 自分の位置にホームを保存します。 | tinyessentials.homes.set |
/home delete|del|remove|rm [name] | ホームを削除します。 | tinyessentials.homes.delete |
/sethome [name] | ホームを保存します。 | tinyessentials.homes.set |
/delhome [name] | ホームを削除します。 | tinyessentials.homes.delete |
/homes | ホームのメニューを開きます。 | tinyessentials.homes.list |
カレンダー
| コマンド | 説明 | 権限 |
|---|---|---|
/calendar | 現在の月のカレンダーを開きます。/calendar month <prev|next|current> <player> は、メニューのボタンが使います。 | tinyessentials.calendar(なしにするには空にします) |
/timefact | リンクされた Time Fact エントリの行を表示します。 | tinyessentials.timefact(なしにするには空にします) |
各コマンドエントリの permission フィールドは、デフォルトで、上の表の権限です。コマンド名は commandName で変更できます。
権限
| 権限 | 許可される内容 |
|---|---|
tinyessentials.<command> | 上に列挙された、コマンドの使用(permission フィールドのデフォルト)。 |
tinyessentials.fly.others, god.others, feed.others, heal.others, vanish.others, gamemode.others, speed.others | コマンドを他のプレイヤーに適用します。 |
tinyessentials.inventory.others | /invsee で他のプレイヤーのインベントリを開きます。 |
tinyessentials.inventory.edit | 調べているインベントリ内のアイテムを動かします。 |
tinyessentials.homes.bypass(bypassPermission) | ホームの上限とテレポートのクールダウンを無視します。 |
tab.staff | <tab_staffonline> でカウントされます。 |
group.<name> | タブのグループと、グループによる並べ替えを選択します。 |
generalPermission、permission、cooldownRules、permissionLimits などのフィールド | エントリで自由に選べる権限。 |
プレースホルダー
TinyEssentials は、2 つの MiniPlaceholders のエクスパンションを登録し、MiniMessage のタグとして使えます。
| プレースホルダー | 返す値 |
|---|---|
<tab_online> | オンラインのプレイヤー。 |
<tab_staffonline> | tab.staff を持つオンラインのプレイヤー。 |
<tab_worldonline> | 閲覧者のワールドにいるプレイヤー。 |
<tab_memory_used> / <tab_memory_max> | 使用中の最大のメモリ(MB)。 |
<tab_tps> | サーバーの TPS(1 分間)。小数点以下 2 桁。 |
<tab_date> / <tab_time> | マシンの実際の日付(dd.MM.yyyy)と時刻(HH:mm:ss)。 |
<tab_animation:name> | Tab Configuration のアニメーションの現在のフレーム。 |
<calendar_date> | カレンダーの日付。たとえば 3 Spring, an 12。 |
<calendar_time> / <calendar_time_12h> | 24 時間制または 12 時間制でのゲーム内時刻。 |
<calendar_day>, <calendar_month>, <calendar_month_index>, <calendar_year>, <calendar_weekday> | カレンダーの日付の各部分。 |
<calendar_day_of_year>, <calendar_total_day> | 年内の日数と、開始からの日数。 |
<calendar_event> | 今日の最初のイベントのタイトル。ない場合は空。 |
<calendar_next_event>, <calendar_next_event_days> | 次のイベントのタイトルと、そこまでの日数。 |
すべての calendar のプレースホルダーは、引数として Minecraft Time エントリの ID を受け付けます。たとえば <calendar_date:my_calendar_id> です。指定しない場合は、最初のカレンダーが使われます。Minecraft Time エントリが存在しない場合は、空のテキストを返します。
Home Manager のテキストフィールドは、各フィールドのヘルプにある {home}、{limit}、{cooldown}、{count}、{world} などのトークンを使います。TPA とメッセージのテキストは、{player}、{time}、{sender}、{receiver}、{message} を使います。
エントリ
50 件のエントリー(拡張機能のソースから生成)。
アクション3
- BTC Calendar MenuBTC Calendar Menu
- BTC Fast Travel MenuBTC Fast Travel Menu
- BTC Wiki MenuBTC Wiki Menu
ファクト3
- Calendar Event FactCheck calendar events
- Is Day FactCheck calendar day/night phases
- Time Period FactCheck if the time is inside a range
オーディエンス1
- Time Window AudienceFilter players using the TinyEssentials calendar
コマンド29
- Tinyessentials Back CommandCommande /back
- Tinyessentials Calendar CommandCommande d'ouverture du calendrier
- Tinyessentials Delhome CommandCommande /delhome
- Tinyessentials Feed CommandCommande /feed
- Tinyessentials Fly CommandCommande /fly
- Tinyessentials Gamemode CommandCommande /gamemode
- Tinyessentials Getpos CommandCommande /getpos
- Tinyessentials God CommandCommande /god
- Tinyessentials Heal CommandCommande /heal
- Tinyessentials Home CommandCommande /home
- Tinyessentials Homes CommandCommande /homes
- Tinyessentials Invsee CommandCommande /invsee
- Tinyessentials Msg CommandCommande /msg
- Tinyessentials Msgtoggle CommandCommande /msgtoggle
- Tinyessentials Pocketmenu CommandCommande /pocketmenu
- Tinyessentials Repair CommandCommande /repair
- Tinyessentials Reply CommandCommande /reply
- Tinyessentials Sethome CommandCommande /sethome
- Tinyessentials Speed CommandCommande /speed
- Tinyessentials Suicide CommandCommande /suicide
- Tinyessentials Timefact CommandCommande d'affichage de la date
- Tinyessentials Tpa CommandCommande /tpa
- Tinyessentials Tpaccept CommandCommande /tpaccept
- Tinyessentials Tpadeny CommandCommande /tpadeny
- Tinyessentials Tpahere CommandCommande /tpahere
- Tinyessentials Tpall CommandCommande /tpall
- Tinyessentials Tpatoggle CommandCommande /tpatoggle
- Tinyessentials Tppos CommandCommande /tppos
- Tinyessentials Vanish CommandCommande /vanish
プレースホルダー1
- Minecraft TimeCustomise the length of days and manage a calendar
アーティファクト2
- Artifact CalendarPersistent anchor for the custom calendar
- Artifact HomePersistent storage for player homes
マニフェスト11
- Chat FormatFormat chat messages based on player groups
- FactProvide time related facts based on the minecraft_time entry
- Fast Travel DestinationDestination de voyage rapide
- Fast Travel RegionRegion de voyage rapide
- Home ManagerManage player homes with permissions and cooldowns
- Join ItemGive players custom items when they join
- ScavengerSave inventory and experience with penalties
- Tab ConfigurationConfigure TAB features for tablist, scoreboard, bossbar and more
- Tiny EssentialsEssential commands with configurable messages and cooldowns
- Wiki ArticleArticle du guide en jeu
- Wiki SectionSection du guide en jeu
トラブルシューティング
TinyEssentials n'est pas configure : ajoutez une entree 'tiny_essentials' a une page. パブリッシュ済みの Tiny Essentials エントリなしで、コマンドが実行されました。static ページに 1 つ追加して、パブリッシュしてください。
コマンドが存在しない、または非表示になっている。 各コマンドはエントリです。対応する tinyessentials_..._command エントリを追加してパブリッシュし、プレイヤーにその permission を与えてください。commandName で変更したコマンド名は、古いものを置き換えます。
Les maisons ne sont pas configurees。 Home Manager エントリがありません。ストレージのエラー(stockage des homes est indisponible)の場合は、Home Manager の artifact が Artifact Home を指していることを確認してください。
プレイヤーがまったくチャットできない。 Chat Format エントリの generalPermission が設定されていて、プレイヤーがそれを持っていません。チャットメッセージはキャンセルされます。空にするか、権限を付与してください。
/back で、以前の場所がないと表示される。 コマンドとプラグインによるテレポートだけが記録されます。エンダーパールとコーラスフルーツは無視され、履歴は、最後の backBufferSize 箇所を保持します。
/speed で、クリエイティブモードでしか使えないと表示される。 このコマンドは、RPG のステータスと衝突しないよう、意図的にクリエイティブモードに限定されています。
タブリスト機能が何もしない。 PacketEvents がインストールされている必要があります。tablistFormattingEnabled、layoutEnabled、bossbarEnabled、scoreboardEnabled は独立したスイッチで、最後の 3 つはデフォルトでオフです。
カレンダーのプレースホルダーが空になる。 Minecraft Time エントリがパブリッシュされていないか、引数が既存のエントリ ID と一致していません。カレンダーのメニューやコマンドにも、その minecraft_time のリンクが必要です。