minecraft
spigot

プレイヤーの頭を作りたいっていうメモ

More than 1 year has passed since last update.

内容

プレイヤーの頭を生成します。
使用例: GUIでのプレイヤー指定

コード

ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
SkullMeta meta = (SkullMeta)item.getItemMeta();
meta.setDisplayName(ChatColor.RESET + playername + " の頭");
meta.setOwner(playername);
item.setItemMeta(meta);

動作環境

Minecraft 1.11.2の環境で動作を確認しています。

解説

ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);

ItemStackで生成します。
引数1: Material.SKULL_ITEMは頭のことです。
引数2: 個数です。
引数3: ダメージ値です。short型しか受け付けないのでキャストさせています。

SkullMeta meta = (SkullMeta)item.getItemMeta();

itemItemMetaをキャストさせてSkullMetaとしてmetaに格納しています。

meta.setDisplayName(ChatColor.RESET + playername + " の頭");

名前を指定します。
そのままだと斜体になってしまうので§rの代わりとなるChatColor.RESETをつけています。

meta.setOwner(playername);

重要です。
頭のスキンを指定します。
プレイヤー名が使用できます。

おわりに

ここに記したコードではアイテムの生成のみで、プレイヤーに配布することは一切していません。
このあとにfor文を使って全体に配布したり、インベントリを生成して配置していくといった処理を入れていきましょう。