メインコンテンツまでスキップ

TinyEssentials

29 個の基本コマンド、ホーム、TPA、チャット形式、タブリスト、カレンダー、ファストトラベル、Wiki。

プライベートv0.0.2ユーティリティ
必要TypeWriter0.9.0-beta-177 (BTC build)PacketEventsMySQLGUITranslate任意

BornToCraft ネットワーク向けに作られた拡張機能です。参照用にドキュメント化されており、配布されていません。

概要​

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 日の長さ、月、曜日、イベントを持つカレンダー、カレンダーメニュー、ファクト、オーディエンスフィルター、プレースホルダー。
  • ファストトラベルとウィキ — ロック条件を持つ、リージョンごとのトラベルメニューと、セクションと記事からなるゲーム内ガイド。

インストール​

  1. タブリスト機能に必要な PacketEvents をインストールします。
  2. TinyEssentials が依存関係として宣言している MySQL 拡張機能(Redis は、サーバー間のチャットとタブの名簿に使われます)と、メニュー用の GUI 拡張機能をインストールします。
  3. 任意: 他のサーバーのプレイヤー向けに、ネットワークチャットを翻訳するために、Translate をインストールします。
  4. TinyEssentials の JAR を plugins/Typewriter/extensions/ に置き、サーバーを再起動します。
  5. 権限プラグインで、コマンドの権限を付与します(権限の表を参照)。グループに基づくタブ機能は、group.<name> という名前の権限を読み取ります。

はじめに​

  1. TypeWriter の Web パネルで static ページを開き、Tiny Essentials エントリを 1 つ追加します。これがないと、すべてのコマンドが、TinyEssentials が設定されていないと応答します。defaultTeleportCooldown、tpaTimeoutSeconds、backBufferSize、メッセージを調整します。
  2. 必要なコマンドエントリを追加します。たとえば、/fly、/tpa、/back です。commandName と permission は、そのままにするか、変更します。
  3. ホームには、Artifact Home と、それを artifact で参照する Home Manager を追加し、続いて /home とその他のホームのコマンドを追加します。
  4. チャット形式には、owner(権限 group.owner、priority 10、format に <gold>[Owner] <player><white>: <message>)のような groups と、fallbackFormat を持つ Chat Format を追加します。
  5. パブリッシュし、権限を付与して、プレイヤーでテストします。
メッセージには従来のカラーコードを使う

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 Menucalendar_button:DAY、WEEKDAY、EVENT、CALENDAR_SUMMARY、MONTH_NAV
ファストトラベルFast Travel Menutravel_button:REGION_TAB、DESTINATION、REGION_SUMMARY
ウィキWiki Menuwiki_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
ファクト3
オーディエンス1
コマンド29
プレースホルダー1
アーティファクト2
マニフェスト11

トラブルシューティング​

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 のリンクが必要です。

関連する拡張機能​

  • MySQL — ネットワークチャットとタブの名簿のための Redis。
  • GUI — ホーム、カレンダー、ファストトラベル、ウィキのメニューを描画します。
  • Translate — 他のサーバーのプレイヤー向けに、ネットワークチャットを翻訳します。
  • UiCore — ウィキの記事は、UiCore の画像を参照できます。