Elin
Not enough ratings
通常クラフトの素材の指定拡張MOD(猫P)
   
Award
Favorite
Favorited
Unfavorite
Asset: Item
File Size
Posted
Updated
276.567 KB
Dec 26, 2024 @ 12:36am
Jan 25 @ 8:27am
6 Change Notes ( view )

Subscribe to download
通常クラフトの素材の指定拡張MOD(猫P)

Description
安定版 0.23.81 対応

概要
これは通常クラフトの素材の指定を拡張するMODです。

みなさん、自作のアイテムを作成してクラフトできるようにするときに感じたことは無いでしょうか?
「なんか材料の詳しい指定できんやん・・・」と。
( 自分はすごく感じたのでこのMODが生まれました。 )

そう例えば、
  • 鉄インゴットでクラフトできるようにしたい。
  • ルビナストインゴットでクラフトできるようにしたい。
  • リトルシスターの肉でクラフトできるようにしたい。
  • 猫エンチャントのついた肉でクラフトできるようにしたい。
などなど・・・

このModを導入するともう少し詳しい指定をすることができます。
試してはないですけど、ロイテルのパンティーとかも素材にできるはずです。

従来のクラフト素材のタグ指定(@)について
前置きとしてクラフト素材のタグ指定(@)について記載をします。
知っている方は飛ばしてください。

例として耐火ブランケットのクラフトレシピは「適当な生地」と通常は「炭の丸太」ですが、
SourceCard.xlsxのcomponentsを確認すると以下の記載になっています。
 texture/5,log@carbone/4
記載の意味は次の通りです。
 生地(texture)が5個(/5)必要、丸太(log)のタグcarbone(@carbone)が4個(/4)必要。

では、タグ(@)とは何かというと、素材の材料に登録されているTag情報のことです。
材料と言うのは鉄・ルビナス・炭などのことで、log@carboneだと、
炭のTag情報にcarboneが含まれているため、「炭の丸太」が耐火ブランケットの素材として使えます。
他にも灰のTag情報にもcarboneが含まれているため、「灰の丸太」も実は素材として使えます。

あくまでも材料のTag情報に含まれているかどうかで、材料そのものを指定しているわけではないです。
そして、材料を表す文字がTag情報にないのがほとんどのため、
鉄のインゴットを素材に使いたいとingot@ironとしても、
材料:鉄にironのTag情報がないためこれでは鉄のインゴットを素材に使えません。

このMODの使い方
このMODで追加する指定は3つで、
それぞれ@の後に文字列をつけることで指定を変更できます。
componentsに記載をするときに、用途に合わせて使ってください。
  • 元になったキャラクター指定 → <character>
  • 材料指定 → <material>
  • エンチャント/エレメント指定 →<element>
例えば、リトルシスターからでた死体を指定する場合は以下の記載になります。
 meat@<character>littleOne
meat・・・死体のid
littleOne・・・リトルシスターのid

元になったキャラクター指定について
元になるキャラクターをidで指定をします。
リトルシスターの場合は、littleOneで
猫の場合は、cat_wildになります。
(例)
  • meat@<character>littleOne (リトルシスターの死体)
  • meat@<character>cat_wild (猫の死体)
  • egg@<character>cat_wild (猫の卵)

材料指定について
素材の材料をkeyで指定します。
鉄の場合は、ironで、
鉄の場合は、jellyで、
アカシアの場合は、wood_acaciaになります。
(例)
  • ingot@<material>iron (鉄のインゴット)
  • ingot@<material>jelly (ゼリーのインゴット)
  • log@<material>gold (金の丸太)

エンチャント(エレメント)指定について
エンチャントをkeyで指定します。
猫の場合は、food_catで、
アダムの場合は、featLittleOneになります。
(なぜかfeatAdamではなく、featLittleOneなんですよね)
(例)
  • meat@<element>food_cat (猫エンチャントがある死体)
  • meat@<element>featLittleOne (アダムエンチャントがある死体)

その他追加した指定について
上記3つの指定外で、追加したものはここに記載します。
使い方自体は上記3つと同じため例は省きます。
  • [2024/12/29追加] 元になったキャラクターの種族のTag情報:<racetag>
    元になったキャラクターの種族のTag情報にhumanが含まれていると、
    その肉は[人肉]になります。そのためこれで死体(人肉)ができます。
    他にも種族のTag情報は種類があるので、面白いことができるかもしれません。



素材枠にカーソルを当てた場合の文字について
特定の文字以外は内部で使っている文字列がそのまま出てしまいます。
動作自体に影響がないですが、見てくれが悪いため気休め程度に好きなテキストを表示する手段を記載します。

2つの方法があります。
  1. Excelimportにより、EMono.sources.langGeneralにテキストを追加する。

    この方法を使う場合、@より後の文字列全てに、tag_ を付けてidとしてください。
    meat@<character>littleOne の場合、
    idは、tag_<character>littleOne としてください。

  2. このMOD(neko_Normalcraft_recipe_extender.dll)を参照して、関数を呼び出すことでテキストを追加する。

    SetCraftTagTextという関数があるため、これを使ってください。
    仕様は以下になります。
    引数:(string id, string eng, string jp)
    id : @以降”のみ”入れる。
    eng : 英語時のテキストを入れる。
    jp : 日本語時のテキストを入れる。
    ※中国語は対応していません。

    meat@<character>littleOneで、死体(リトルシスター)と表示させたいの場合、
    関数は以下のように使います。
    SetTagText.SetCraftTagText("<character>littleOne", "littlesister", "リトルシスター");

!!!注意!!!
  • このModは作るものを選択するタイプに対応するものです。
    かまどや、石うすなどの任意の素材を投入してクラフトするタイプには対応していません。
    詳しく言うとThingデータのcomponentsに対応していて、Recipeデータのingには対応していません。

  • このMODは内部処理の上書きにより実現させているため、
    同系統のMODと競合する可能性があります。

  • このMODは内部処理の上書きにより実現させているため、
    アプデにより予期せぬ不具合が発生する可能性があります。
    (その場合、中の人が生きていれば修正します)

  • Nightlyに対応する予定はないです。
    安定版になった時に対応します。

  • 変な不具合があってもぶたないでください。泣きます。
    報告していただけるとありがたいです。

  • ほかに○○と言った指定がしたい!というのがあれば言ってください。
    もしかしたら対応するかもしれません。

  • 私は説明がクッソ下手なため、○○にしたらわかりやすいって言うのがあれば言ってください。

  • I am not good at English, so it may be difficult to provide support in English.
4 Comments
igunekoP  [author] Jan 25 @ 8:10am 
Thanks for reporting.
We would be happy to confirm this for you as we have responded.
曰总418 Jan 25 @ 5:50am 
The new update has totally break the mod, any crafting table now does not work properly.
igunekoP  [author] Dec 28, 2024 @ 9:33pm 
そういえば、リトルシスターの種族タグgelatin、humanSpeakなんだけれども、
これって人間の言葉をしゃべるスライム生物ってこと・・・?
igunekoP  [author] Dec 28, 2024 @ 9:31pm 
[2024/12/29追加]
元になったキャラクターの種族のTag情報:<racetag>
元になったキャラクターの種族のTag情報にhumanが含まれていると、
その肉は[人肉]になります。そのためこれで死体(人肉)ができます。
他にも種族のTag情報は種類があるので、面白いことができるかもしれません。