カウンター

  • 21105総訪問者数:
  • 13今日の訪問者数:
  • 29昨日の訪問者数:
  • 29一日あたりの訪問者数:
  • 0現在オンライン中の人数:
  • 2014年9月21日カウント開始日:

このサイトは?

PC版MinecraftのマルチサーバAlicornAvalonAllegrettoTerraを管理しているTacticaが、サーバ運営にまつわるネタを書いてます。 忘れっぽいのでメモ代わりだと思って頂ければ・・・
ちなみに検証作業はほとんど非公開のテストサーバで行ってます。
私的リンク

[Sponge]インベントリを扱う

インベントリの中を参照する

ClickInventoryEventでevent.getTargetInventory().slots()で参照できますので、先ずはその内容から。
※注意:この内容で作業台をクリックするとエラーになります。

@Listener
public void onEvent( ClickInventoryEvent event ){
 int i = 0;
 for ( Inventory slot:event.getTargetInventory().slots() ){
  if (slot.peek().isPresent()){
   ItemStack itema = slot.peek().get();
   this.ginou.info( i + ": " + itema.getItem().getId() );
  }else{
   this.ginou.info( i + ": null" );
  }
  i++;
 }
}

slot.peek()ですが、peek(のぞき見る)で参照できます。slot.poll()でもほぼ同じ事ができますが、pollを実行するとそのスロットは空になるので注意。slot.set(<ItemStack>)で格納もできます。

取得したデータは以下の通りのようです

No, 中身
0~8 ホットバー(最下段)の内容。0が一番左
9~35 インベントリ(3行×9列)の中身。9が一番左上。10がその右隣。35が一番右下。
36 頭の装備
37 胴の装備
38 レギンスの装備
39 ブーツの装備
40~43 クラフトエリア。40:左上、41:右上、42:左下、43右下
44~47 何故か40~43と同じ。
48 クラフトでの完成後
49 オフハンド

ちなみにチェストを開くと以下の通りになりました。開く内容によって状態が変わるようですね。

No, 中身
0~26 チェストの中身(3行×9列)
27~53 インベントリの中身(3行×9列)
54~62 ホットバーの中身

とりあえず、event.getTargetInventory().slots()としましたが、player.getTargetInventory().slots()もできますが、これは常に「プレイヤーのインベントリ」が表示されます。
微妙にClickInventoryEventの時のevent.getTargetInventory().slots()の順番と装備の部分が違うのと、何故かレギンスが二箇所でます。また、オフハンドも見れないみたいですね。

No, 中身
0~8 ホットバー(最下段)の内容。0が一番左
9~35 インベントリ(3行×9列)の中身。9が一番左上。10がその右隣。35が一番右下。
36 ブーツの装備
37 レギンスの装備
38 胴の装備
39 頭の装備
40 レギンスの装備

 

まだ不明な箇所がいくつかありますが、そのうち必要なら書くかもです。

[Sponge]明るさに関する考察

明るさを取得するAPI

ほぼ私的なメモです。SpongeAPIでは明るさの概念がちょっと難しいです。
なお、ざっくり読んで貰えればわかりますが、太陽の光の強さを示す値を取る手段が無いので、ここに記載の内容だけで明るさを結論づけることは出来ません。
» [Sponge]明るさに関する考察 の続きを読む

[Sponge]ブロックイベントとCauseのメモ

Spongeプラグインを作ってると意外と難儀なのがブロックが壊れた(ChangeBlockEvent.Break)とか、置かれた(ChangeBlockEvent.Place)の扱い。個人的にこの扱いがなかなか慣れないのでメモしておきます。本当はEntityも交えるといいんだけど、わかりづらいので、Entityは扱いません。

» [Sponge]ブロックイベントとCauseのメモ の続きを読む

SpongeForge Serverの建て方(1.11)

自分でも忘れそうなので、メモがてらSpongeForge Serverのセットアップ方法を書いておきます。

OSはLinux7系、マイクラは1.11系で記載しています。

Firewall/iptablesの設定などの基本的な設定や、各種ファイルのDL方法、その他OSの基本的な使い方などは書いていませんので、ご自分で調べて下さい。

» SpongeForge Serverの建て方(1.11) の続きを読む

Sponge BlockTypes

BlockTypeの一覧です。そのうち日本語訳も入れたいなぁ…

» Sponge BlockTypes の続きを読む

マインクラフト1.11サーバ対応メモ

調査の進捗状況

マイクラサーバが1.11に対応したので、私の管理しているサーバも対応させる為のメモです。

注意:ここに掲載されている情報は、2016/11/27時点の情報です。最新ではないかもしれないので、ご注意を!
※サーバのバージョンアップが完了したので、以後更新はしない予定。

  1. 【済】テストサーバ構築(Alicorn)
  2. 【済】テストサーバ構築(Avalon)
  3. 【済】サーバプログラムを1.11化し確認
  4. 【済】プラグインの最新化 
  5. 【済】非対応プラグインをなんとかする
  6. 資源生成準備←延期(森の館の発生率が非常に低いので対策検討)
  7. 【済】リリース

» マインクラフト1.11サーバ対応メモ の続きを読む

Sponge Events(API5.0)

logo-spongie

ここではSpongePluginで使用可能はイベントを紹介します。基本的に説明を全部埋めるつもりも無いので、気が向いたら更新します。プラグイン自体の作成はSponge Pluginで解説してます。

» Sponge Events(API5.0) の続きを読む

Sponge Plugin

初めに

logo-spongepowered
SpongePowerd(https://www.spongepowered.org/)のプラグインを作り始めてみましたので、そのメモです。とても基本的なことしか書いてないので、詳しくは後述の公式プラグインドキュメント、あるいはJavadocなどを読んで下さい。

※この文書は時々アップデートします…更新日:2017/04/03:その他サンプルを追記。

MinecraftでForge Mod+Bukkit(spigot)プラグインサーバを建てるとなるとCauldron系サーバが主流ですが、これはMinecraft1.7.10と古いバージョンしか対応してません。1.8以降ではまだまだModは少ないですが、マルチサーバを運用するならSpongePowerd(たぶん正しくはスポンジでいいと思いますが、食器洗いのスポンジが出てくると思うので、ここではこう書いてます)を用いることになると思います。

で、Sponge ForgeであればMinecraftとForgeのバージョンさえ有ってれば既存のModが動きますが、PluginについてはBukkit/Spigotプラグインはそのままでは動きません(一応、不完全ながら動かすmodはあるので、それで代用しても良いですが)。

なのでSponge用プラグインを作成しないとなのですが、国内に情報が非常に少ないので、とりあえず足がかりレベルの情報をここに纏めたいと思います。
※ちなみに個人的にSpigotプラグインも作成してたので、その経験を元にSpigotプラグインとの比較もちりばめてますのでご了承を。

» Sponge Plugin の続きを読む

dynmapをmodに対応してみる

注意:このページはすべての情報を網羅していないですが、基本的な所はたぶん抑えてると思います。さらに詳細はページ末尾の参考ページを読むなり、他の定義ファイルから察するなりしてください。私も追加でわかったことがあればさらに更新するかもです。

概要

dynmapのforge版は既にいくつかのmodに対応しており、何もしなくても追加されたブロックがWebに表示されるようになってます。対応してないmodは自前で設定しなと表示されません。っていうか、dynmapに標準で組み込まれたmodの設定が古すぎて役に立たないので、ちゃんと表示されたら運がいい方ですね。

ってことで、ここではdynmap対応してないmodをdynmapで表示させる為の方法について書きたいと思います。非常に少ない情報の中調べているので、ウソや不正確な情報、推測が含まれるのでご注意を。

dynmap_3 dynmap_4

» dynmapをmodに対応してみる の続きを読む

これまで作ったプラグイン

偶に鯖管のつぶやきってことで、どうでもいいネタを書いてるんですがw、今回はこれまでに作ったSpigotプラグインを紹介してみます。ちなみにほとんど公開しておらず、私の管理しているサーバにしか導入してません。なので、読む人にとってはどうでもいいネタですね。要望があれば将来的に公開してもいいですが、まぁこういうアイデアもあるよみたいなのの参考にしていただければと思います。

» これまで作ったプラグイン の続きを読む

1 / 512345