自販機の作り方
2016/02/28 GravelSmith
現在資源商店街において、完全に流行りかけている自販機の作り方とその注意点を書いておくのを忘れていたので、今更ながら記すこととしました。
【重要な注意】
自販機には、必ず領域保護/チェスト保護をかけましょう。さもないと、回路や構造に干渉することで商品が取り出せてしまいます、チェストログだけを見て無関係な人に窃盗の嫌疑をかけることはあってはなりません。
構造と動作原理
下図のように回路を構成します
①料金の受け皿であるホッパーが御代と埋めアイテムで一杯になる
②ホッパーの内容量をコンパレータで検出、横から入っている強度15の信号と比較する
③コンパレータが信号出力、トーチで反転してピストンへの入力がOFF
④ピストンが縮み、チェスト上の不透明ブロックが退くことでチェストが開けるようになる
領域保護のかけ方
●自販機を設置するスペースが決まったらまずその領域を保護しましょう。領域保護のかけ方は別ページを参照してください。
●領域保護名は、各マップごとに独立しています。したがって毎回の資源マップで同じ名前をずっと用いても大丈夫です。
●領域保護内で他人に一部の行動を許可するフラグを設定します。これにより他人がチェストやホッパーを開くことが出来るようになります。自分が使っているコマンド列を書いておきますので、borneoを使用する領域保護名に変えてコピペするといいでしょう。
/rg f borneo enderpearl deny
/rg f borneo chest-access allow
/rg f borneo interact allow
/rg f borneo greeting ようこそ自販機コーナー&a「メカボルネオ」&fへ 御代は投げずホッパーを開いてSHIFT+左クリックでお入れ下さい(価格以上には入りません)
チェスト/ホッパーの保護
①自販機全てのチェストとホッパーに/cremoveをかけます。
チェストとホッパーは置くと同時に/cprivateという保護がかかり、自分以外には開くことも撤去することも出来なくなります。この保護がかかったままでは他の保護がかけられませんので、まずは保護を取り除く(/cremove)必要があります。
②全てのチェストに/cpublicをかけます
/cremoveしたままだと、第三者にチェスト保護をかけられてしまう可能性があります。/cpublicで自分が所有権を持ちかつ誰もが開けるチェストに指定します。
③全てのホッパーに/cdonationをかけます
この保護は中のアイテムをチェストのオーナー以外に取り出せなくします。これが無いと入れられた代金を持ち去られてしまいます。
※便利で危険なコマンド、/cpersistを使う
/cpersistを実行すると、その次に入力したコマンドを、チェストを叩くだけで次々連続して実行できるようになります。
もう一度/cpersistを実行すると「次のチェストを叩いたあとで、連続実行が停止します」。うっかり他人のチェストに保護をかけてしまわないように注意してください。
自販機に用いる場合は、次のようになります。
①/cpersist
“Your commands will now persist.”と表示
②/cremove
③全てのチェストとホッパーを叩く
④/cpublic
⑤全てのチェストを叩く
⑥/cdonation
⑦全てのホッパーを叩く
⑧/cinfo
⑨全てのチェストとホッパーを叩き、保護状況を確認
⑩/cpersist
“Your commands will no longer persist.”と表示
⑪どれかのチェストを2回叩いて、/cpersistの効力がなくなってることを確認
その他の注意
・チェストの保護設定は領域保護を行い、商品と御代の設定を済ませてから行いましょう。商品補充中に横からチェストを叩く常識外な人もいます。
・保護領域は使用している機構から上下左右1ブロックの余裕を持たせてください。ピストンを使うと、保護領域内の最外側1マスにだけはブロックを押し込んだり引き抜いたり出来るようなのでその対策です。
・この自販機の機能と安全性はWorldGuardとLWCに依存しています。他の鯖で使用する際はその鯖の管理者にお問い合わせください。
・ちなみに…領域保護名はマップごとに独立していますが、反面、領域の操作はそのマップに居ないと行えないことになりTIPS