13
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Minecraft Skript 入門編 Part.1

Last updated at Posted at 2019-04-28

#はじめに
はじめまして。
Monsterと申します。

わたくしは、MinecraftJavaEditionでミニゲームサーバーを運営しているのですが、ミニゲームサーバーにはやっぱりPluginが必要なんです・・・

ですが、募集しても集まりが悪かったりする都合でPluginを勉強しようと思ってたのですが(てか、勉強した)、はっきり言います・・・

無理でしたww(まだあきらめてはいない)
※作れるようになりました

まあ、難しいというのが理由です。
そんな時、SkriptというPluginを見つけました。

このPluginは簡単に言えば、Minecraft内でPluginが作れるというものです。

また、このSkriptは中学生レベルの英語さえ分かっていれば簡単につくれます。

#今後の記事一覧

記事タイトル(リンク) 概要 難易度(5段階)
入門編1 環境設定と簡単なコード紹介。 ★☆☆☆☆
入門編2 実用的な簡単なコード紹介 ★☆☆☆☆
入門編3 ループについてとカスタムコマンドについて ★★☆☆☆
入門編4 Skriptを勉強するうえで役に立つサイト一覧 -
入門編5 空間にプレイヤーがいることを確認する ★★☆☆☆
入門編6 SkriptのFAQ -
基礎編1 変数について紹介 ★★★☆☆
基礎編2 実用的なカスタムコマンド紹介 ★★☆☆☆
基礎編3 ダメージについて紹介 ★★☆☆☆
基礎編4 アスレチック鯖に便利なSkript ★★★☆☆
基礎編5 空間にプレイヤーがいることを確認するSkript ★☆☆☆☆
応用編1 カウントダウンコマンドについて紹介 ★★★☆☆
応用編2 奈落落下時に自動テレポートするSkript ★★☆☆☆
応用編3 タイマーSkript ★★★☆☆
応用編4 簡易ゲームモード変更コマンド ★★☆☆☆
応用編5 特定のブロックの数を調査するSkript ★★★☆☆
応用編6 チェストGUIを使ったメニューシステムを紹介 ★★☆☆☆
応用編7 コマンドに便利なシステムを紹介 ★★☆☆☆

#読む上での注意
入門編ではSkriptの常識であろう内容を書いています。
なのでほかのサイトや動画ですでに解説されている場合がございますのでご注意ください。

#導入方法
コチラからお好きなバージョンをお選びください。
ですが、betaと付くバージョンは開発段階のものなので、バグが多々ありますので正式リリースのものをお勧めします。
わたくしの場合ですと、2.3.5を使っていますのでSkript bensku-2.3.5を使っていることになります。

ダウンロードしましたら、ほかのPluginと同じようにPluginフォルダに入れてください。

鯖を起動すればSkriptという名前のフォルダが生成されるはずです。(この時失敗した場合はバージョンがあっていなかったりという初期的なミスでしょう)

そして、Skript(フォルダ)→scripts(フォルダ)と進むとその中に.skで終わるファイルがあると思います。
そのほとんどがはじめに-がついていると思います。
実はSKファイルは-を付けるとそのファイルを無効化できるのです。

まあ、そんなことは置いといてコードを書いていきましょう・・・

と言いたいのですが、あと1工程だけしましょう。
(勝手に生成されたものは初心者であれば理解できないかもなので、消すか別の場所に置いておきましょう。)

#環境を整える
ダウンロードはしたけど、これだけではコードは書けません。
コーディングするにはコーディング環境を整える必要があります。

基本的にはPCに備え付けられているテキストエディタなどでも書けるのですが不便が悪いので今回はNotepad++というテキストエディタを使います。

まずは、コチラからNotepad++の最新版を入手してください。

ダウンロードができましたら、Notepad++を実行し、
Settings → Preferences・・・をクリックして、Localizationから日本語を選択してください。(英語でもいけるぜ!!って方はそのままでもいいですが・・・w)

Notepad++で使用されるSkript用のユーザー定義言語(UDL)をコチラから入手してください。保存場所は、Notepad++.exeと同じところにあるとわかりやすいかと思われます。
※この時ファイルを解凍することを忘れないでください。

あとは、Notepad++を実行し、
言語 → 言語を定義・・・をクリックし、インポート・・・をクリックするとUDLとなるファイルを指定するウィンドウが出るので、1つ前で入手したSkript.xmlを指定してください。

Notepad++のバグなのかUDLのバグなのか、ブラック版に変えると表示がおかしくなる(わたくしの環境だけかも)のでホワイト版をお勧めします。
Notepad++の環境設定より背景色を黒に変えると問題ありません。

きっとこれでコーディングすると文字に色がつくと思います。

それではこれでやっとコーディングできます。

#簡単なコードを書いてみよう
まず先ほどのscriptsというフォルダの中にtestコードということでtest.skというものを作りましょう。

Mac版も多分同じだと思いますが(わたくしはWindows)、txtファイルを作ってその名前を変更時にtest.skとすれば構いません。
まあ、testの部分はなんでもいいんですがね・・・

イベント:
(tab)条件
(tab)実行すること

基本的な形はこれです。
ちなみに(tab)は、半角スペース4つか、TABキーワンクリックにしてください。

これはインデントと呼ばれるものです。:を書いたら次の行でインデントしないといけないと考えてください。

先ほどは(tab)と書きましたが、ここからは書きませんのでご注意ください。
###ブロック破壊を禁止

test.sk
on break:
    player do not have permission "skript.admin"
    cancel event

これで1つの機能が完成しました。
解説すれば、
1行目のon break:はブロックが壊れたとき・・・というイベントです。
2行目のplayer do not have permission "skript.admin"は、プレイヤーがskript.adminというパーミッションをもっていない・・・という条件です。
3行目のcancel eventはそのイベントをキャンセルしまっせ・・・という実行内容です。

要約するなら、
「権限を持っている人以外のブロック破壊を禁止」というものです。

どうですか?
ただの英文でしょう?ww

あ、ちなみにcancel eventは通常起こるはずのイベントを中止するといったものです。

ちなみに条件を書かなければ、誰も壊せなくなります。

###ブロック設置を禁止

test.sk
on place:
    player do not have permission "skript.admin"
    cancel event

まあ、イベントを変えただけなので、要約しか書きませんが、
「権限を持っている人以外のブロック設置を禁止」というものです。

まあ、このまま書いていってもいいのですが、はっきり言ってきりがありませんので、コチラをご覧ください。

これは、Skriptのイベント・条件・実行する内容などなど・・・いろんなことを書いたページです。

実はコチラのほうがいいのですが、見やすさを考えると前者のほうがいいかと・・・

#注意
コード内に日本語があるとたまに文字化けすることがあります。
その時は文字コードをUTF-8に変更してください。

文字コードの変更方法はエディタによって違うので各自調べてください。

追記

permissionについて質問があったため書いておきます。
skript.adminというのはPermissionというシステムです。

本日使用したplayer do not have permission "skript.admin"はプレイヤーがskript.adminという権限を持っているかどうかを確認しています。
permissionはLuckPermsなどの権限付与プラグインを使用して付与することをお勧めします。

次はコチラ

13
7
10

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?