2017-05-08 15 views
3

これで、Minecraftのプラグインを作成する際に、私は克服できないような問題を発見しました。だから問題は、配置されたDiamond Blockの位置を取得したいので、そのブロックの周りを他のブロックでチェックすることができます。自動化された農業用プラグインを作ってみたい。
「今まで私が
Minecraft-SpigotのBlockEventからブロック位置を取得する方法

public void OnDiaBlockPlace(BlockPlaceEvent e){ 
    Block b = e.getBlock(); 
    b.getPosition(); 
} 


public void onPlantGrow(BlockGrowEvent e){ 
    Block b = e.getBlock(); 
    b.getPosition(); 
} 


とでそれを行うことを試みた。しかしb.getPosition();はインロー/ craftbukkitのAPIに存在しません。
この問題を回避する方法があるかどうか、どうすればこの問題を解決できるかを知りたいだけです。

TL/DR:BlockPlaceEventまたはBlockGrowEventからx、y、z形式のブロック位置を取得するにはどうすればよいですか?

前もっておかげさまで、

EDIT:コードの ワーキング作品:

public void onPlantGrow(BlockGrowEvent e){ 
    Block b = e.getBlock(); 
    int x = b.getLocation().getBlockX(); 
    int y = b.getLocation().getBlockY(); 
    int z = b.getLocation().getBlockZ(); 
} 
+1

だけでなく(RegionCoordinates.fromLocation 'に変えることができ、')( '場所blockLocation = b.getLocationをお試しくださいブロック位置) '。 – dly

+0

あなたのコメントを回答に変換できますか?私はそれを受け入れることができますか? –

+1

大丈夫です...完了 – dly

答えて

2

これはあなたにそのブロックのLocationを取得します:

Location blockLocation = b.getLocation(); 

Locationクラスには、getBlockX()getBlockY()を使用して座標にアクセスすることを可能にし、 getBlockZ()、またgetWorld()など(Reference)である。

そして、あなたはRegionCoordinatesで作業したい場合は、あなたのblockLocationでこれを使用することができます。

RegionCoordinates regionCoords = RegionCoordinates.fromLocation(blockLocation); 
関連する問題