Chuzume / text_particle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Text Particle

カスタムフォントを使って追加ができる、シンプルなアニメーションパーティクルを作れるようになるライブラリ。

ただし通常のパーティクルに比べると負荷が高く、大量に出すのには向いていません。

リソースパックはカスタムパーティクルのサンプルです。リソースパック内部の画像などは自由に使っていただいて構いません。

対応バージョン: 1.20.2~1.20.4

使い方

リソースパックがないと話が始まらないので、サンプルのリソースパックを適用しておいてください。

text_particle:spawnに引数を渡して実行することで、実行座標からパーティクルを発生させます。

引数は使わないものも含め、全て指定する必要があります。

function text_particle:spawn {Font:sample32,Color:FF0000,Billboard:center,Scale:1,Frame:5,Brightness:-1,Rotation:[0f,0f,0f,1f]}

引数の説明

  • Font: パーティクルの見た目です。リソースパック内でのファイル名を指定して下さい。
  • Color: パーティクルの色です。16進数カラーコードで指定してください。
  • Billboard: パーティクルがどういう風にこちらを向くかの設定です。display系エンティティのbillboardタグと同じものを指定します。ビルボードをオフにする場合、パーティクルは裏から見ると透明になってしまう点に気をつけてください。
  • Scale: パーティクルの大きさです。
  • Frame: パーティクルが存在する時間です。特別な理由がない限り、パーティクルのコマ数と同じ数値にしておきましょう。最大で99まで指定可能です。
  • Brightness: パーティクルの明るさです。0~16の範囲で指定します。未設定にしたい場合は -1 など、範囲外の数値を指定しましょう。
  • Rotation: パーティクルの角度です。display系エンティティのleft_rotationと同じ指定方法です。傾けたりしないのであれば、[0f,0f,0f,1f] を指定しておきましょう。

サンプルについて

データパック内のtext_particle:example/ 内に、サンプルのfunctionが入っているので参考にどうぞ

リソースパックにパーティクル用のフォントを追加する

必要なファイル

asset/minecraft/font/text_particleは必須です。リソースパック内にコピーしておきましょう。

内容はネガティブスペースで、これがないとパーティクルが若干**からズレたりします。

jsonの書き方

リソースパック内のasset/minecraft/font/particle内にパーティクル用のフォントを作ることでパーティクルを追加します。

指定する文字は /uE001 からスタートし、パーティクルのコマ数ごとに /uE002 , /uE003/uE099 といったように、数字を増やしていってください。

以下は1コマ32x32の、5個のコマを横に配置した画像を指定した例になります。

{
    "providers": [
            {
            "type": "bitmap",
            "file": "minecraft:font/particle/sample32.png",
            "height": 32,
            "ascent": 13,
            "chars": [
                "\uE001\uE002\uE003\uE004\uE005"
            ]
        }
    ]
}

パーティクルのコマ数が多く、途中で下に折り返したい場合などは以下のように記述してください。

{
    "providers": [
            {
            "type": "bitmap",
            "file": "minecraft:font/particle/sample32.png",
            "height": 32,
            "ascent": 13,
            "chars": [
                "\uE001\uE002\uE003\uE004\uE005"
                "\uE006\uE007\uE008\uE009\uE0010"
            ]
        }
    ]
}

8x8から128x128についてはサンプルのリソースパック内にascentを調整済みのサンプルを用意しているので、参考や追加のベースにしてください。

指定する画像について

パーティクルとして使う画像は、各コマの不透明部分の左端が、各グリッドの左端に接するようにしてください。

サンプルのリソースパック内のasset/minecraft/textures/font/particle内のSample8,Sample16,Sample32を参考にしてください。

About

License:MIT License


Languages

Language:mcfunction 100.0%