注意事項
この記事はもう更新されていません。 Bukkit1.9にて使えなくなったプラグインなどに関する情報は、こちらの記事に書きました。
Bukkit 1.9がリリースされました。 1.8からの変更点をまとめていきます。 間違っている箇所など有りましたらツイッターで教えてください。
削除されたAPI
以下のAPIはBukkit1.9で削除されます。 その為、そのAPIを使っていたプラグインはBukkit1.9以降のサーバーでは動作しなくなります。
Painting*Event
2012年10月に、Hanging*Event
に置き換えられ、非推奨になっていました。
- PaintingBreakByEntityEvent
- PaintingBreakEvent
- PaintingEvent
- PaintingPlaceEvent
ContainerBlock
2012年3月に、InventoryHolder
に置き換えられ、非推奨になっていました。
非推奨になったAPI
以下のAPIはBukkit1.9で非推奨になります。 そのAPIを使っていたプラグインはBukkit1.9のサーバーでも動作しますが、不安定になる可能性があります。 また、将来的に削除される可能性がある為、開発者は代わりになるAPIへの以降をするべきです。
Boat
Minecraft1.9でボートの仕様が変わったため、今までのAPIは非推奨になります。
ItemInHand
Minecraft1.9でOffHandが追加されたため、ItemInHand
は非推奨になります。
Bukkit1.9では、ItemInHand
はItemInMainHand
と同じ動作になりますが、
将来的に削除される可能性がある為、ItemInMainHand
とItemInOffHand
に移行するべきです。
変更されたAPI
UTF-8
今までは、環境で設定されたCharsetを使っていたコンフィグファイルなどが、必ずUTF-8を使うように変更されるようです。 確認出来ていませんが、今までShift_JIS環境で動かしていたサーバーで、 コンフィグファイルにマルチバイト文字が含まれている場合にUTF-8に変更しないと文字化け等が発生する可能性があります。 また、今までjarファイル内のコンフィグファイルにマルチバイト文字を含んでいた場合に、 環境で設定されたCharsetに変換してpluginsフォルダに保存するようにしていたプラグインなどにも影響する可能性があります。
Tree
バグ(SPIGOT-1389)の修正のようです。
追加されたAPI
MainHand OffHand
Minecraft1.9でOffHandが追加されたため、追加されます。
BossBar
Minecraft1.9でボスバーの仕様が変更されたため、追加されます。 以下の様にボスバーを作成することが出来るようです。
Bukkit.createBossBar("Title", BarColor.PINK, BarStyle.SEGMENTED_12, BarFlag.PLAY_BOSS_MUSIC)
Glowing
Minecraft1.9でGlowing
というEntityの状態が追加されたため、追加されます。
DamageCause.FLY_INTO_WALL
Merchant
Particle
Attribute
CauldronLevelChangeEvent
PlayerFishEvent.State.BITE
FurnaceRecipe experience
Inventory#getLocation()
PotionEffect#getColor()
PrepareAnvilEvent
その他
古いプラグインとの互換性に関して
1.6又はそれ以前と1.7で変更されたメソッドのremappingが削除されました。
これらのメソッド(getOnlinePlayers()
など)を使っていた1.6以前のプラグインに影響があります。
そして、そのプラグインはアップデートする必要がありますが、
サポートがされていないが、ソースコードが無い場合などは、
以下のコマンドをBuildToolsのディレクトリで実行することで対応させることが出来ます。
(MyPlugin.jar
をそのプラグインのパスに、
MyPlugin-fixed.jar
を対応されたバージョンの保存先パスにしてください。)
java -jar BuildData/bin/SpecialSource-2.jar map -m CraftBukkit/deprecation-mappings.csrg -i MyPlugin.jar -o MyPlugin-fixed.jar
一時的に削除されたAPI
BookEditEvent
が、デコンパイラーの問題により一時的に削除されているようです。