MODで追加されたアイテムをユーザー側で作成不可能にしたい
新しく鯖を建てようと思っているのですが、どうしてもMODのとあるアイテムを運営側だけが入手出来るようにしたいです。
プラグインでレシピ変更や削除などの処理を出来たりしませんか?また、そのような動作が出来るプラグインを知っている方いませんか?
サーバーはMohistMCを使っています。
素人質問で申し訳ないです。
36 Replies
入手元が何かによる
プラグインではなくKubeJSというModを使う手もあります
入手元はクラフトです
MODを使う場合やはりクライアント側にも導入が必須でしょうか?
ほなon craftで検知して
"%type of item%"
で何が出るかみて
文字列で比較して
cancel すればよさそうすみません、このskripthub?ってサイトを初めて見たんですけど、使い方は通常のプラグイン同様ダウンロードしてプラグインフォルダに入れてコマンドを打って使用という形でいいのでしょうか?
いや、このskript hub は
skriptのあれこれが乗ってるドキュメント
ここで構文を検索できる
ただし構文の文法や名前、単語で検索しないといけないから
やりたいことを英単語に翻訳したうえで感で検索したり…と
最低限コツがいる
skriptを自作する際に使う構文を調べるサイト、という解釈で大丈夫ですかね…?
skriptの事に関しては全くの無知で、今初心者向けのWebサイトを見ながら返事しているので変な解釈していたりしたらすみません。
基本文法は他者のサイトを参照して
あとはskriptHubをもとに構文を調べながら作るのが
とりあえず一番安定すると思う
Qiita
【丁寧に解説】Skriptをはじめよう 1:簡単なスクリプトを書いてみよう - Qiita
諸事情により、記事をこれ以降更新することができなくなってしまいました。今まで投稿した本シリーズの記事はそのまま残しておきますが、新しく記事が追加されることはありません。この記事はマインクラフト…
注意点として、このサイトはアドオンの構文も含んでるから
必要アドオンとかverをちゃんと把握してから使わないと
『なんでうごかないねんこれぇ!』することが多々ある
このサイトを見ながらなんですけど、プレイヤーがクラフトをした際の検知は初心者でも出来るものでしょうか…?
・KubeJSはクライアント側も導入必要
・Skriptとは、Javaの代わりに独自言語によるコーディングでプラグインと同等の動作を可能にするプラグイン
・MohistMCは不安定でプラグインが動かない可能性がある
これは簡単に実装可能で、
例えばこのようなコードでベッドの作成を検知し、作成できないようにします
かなり初歩的なことから教えていただいてすみません…
上記のコードはKubeJS内で入力すればすぐにでも使えるものでしょうか?また、[bed]のところはMinecraftの高度な情報から見れるアイテムIDでも利用できますか?
大事なことを言い忘れてました。サーバーのバージョンは1.20.1です。
KubeJSは名前の通りJavaScriptで記述するので上記のものとは異なります
ゲーム内で見られるアイテムIDとは多少異なるものもあります
また、SkriptではModアイテムに対応できるか分かりません
KubeJSなら確定で対応しています
ということはこちらはSkript用のコードで、KubeJSでは例えば公式サイトに載っているレシピの削除のようなところを参考にしてJavaScriptで記入という形になるということでしょうか。
できる
俺は自鯖でやってる
Solution
一番わかりやすい方法としては
モッド製アイテムを手に持った状態で
/toolinfo
でITEM_TYPEをチェック
それで確認できたやつを"%type of item%" contains "ITEM_TYPE"
のITEM_TYPEに入れる
これでたぶんクラフトできなくなるありがとうございます!!家に帰ったら試してみます!
レシピのアイテムを作ろうとしても作れないようになりました!!!ありがとうございます!ですが、skriptがreloadの度に下のようなエラーを吐くんですけれどこれは直せないものでしょうか?
該当コードをみたいですね
どこでエラー出てるとか書いてます?
俺の予想では、modアイテムのitem typeを
文字列にせず直接使用しようとしてる気がします
このエラー起動時にも出ていて、今回出たのは
/skript reload
を実行した時でした。
俺が追加したコードを引っこ抜けば治ります?
具体的には
"%type of item%" contains "ITEM TYPE"
コードを入れる前からコンソール画面で出ていたので多分違うと思います…。言葉足らずですみません。
[Skript]からエラー文を出していました
うーーーーん
やっぱりmodのアイテムのIDを直接skript内で使用しようとしてるんじゃないかと思いやす
今回が初出じゃないならなおのこと場所がわからんすね……
ファイル一個づつdisableして確かめるしか
[16:24:30] [Server thread/INFO] [ch.njol.skript.Skript]: [Skript] Enabling Skript v2.9.2
[16:24:30] [Server thread/INFO] [Console]: [Skript] Successfully generated the config and the example scripts.
[16:24:31] [ForkJoinPool.commonPool-worker-2/INFO] [Console]: [Skript] You're currently running the latest stable version of Skript.
[16:24:36] [Server thread/INFO] [Console]: [Skript] Minecraft id farmersdelight:stove is not valid
コンソールで出力されてたskript起動直後のログです
今のところは特に動作に不備があるわけではないので放置でもいいんですかね、、?
Farmers Delite ModのアイテムのIDがskriptでは有効になってないよ〜(modのアイテムだから対応してないよ〜)って言われてるだけなんで
まあ無視でいいですね
なるほど、、、!夜遅くまで回答していただきありがとうございました!素人すぎて色々質問外のことなど聞いてしまってすみませんでした。。
妥当
ちなみに、↑のやつの原因として考えられるのが
player's tool
とかで、modのアイテムかバニラアイテムかを区別せずに
そのまま取得しようとしてたりすることが考えられますね…
例えば
こういうことすると起こりそう
違ったら御免(緊急で直したいというわけでもないので不具合が発生するまでは放置しようかなあと考えています…。
それでいいとおもう
古野さんのコードでMODのアイテムのレシピを作成不可にすることはできたので
当初の目的は達成できました!!
modのアイテムでも、無理やり文字列とかに落とし込んで比較すれば
まあ連携(笑)できないことはない
覚えておくと便利
ありがとうございます!!これ、自作MohistMC鯖を作るにあたっての質問とかで新しくスレとか建てたほうがいいでしょうかね?運営が自分しかおらず、プラグインやSkriptのことについて色々とご教授してほしいので。。
まあ内容別に個別に建てたほうがいいよ