2017-05-08 4 views
3

좋아, Minecraft 용 플러그인을 만들 때 극복 할 수없는 문제가 있음을 발견했습니다. 그래서 문제는 다이아몬드 블록 배치 위치를 얻고 싶기 때문에 그 블록 주위를 다른 블록으로 점검 할 수 있다는 것입니다. 자동화된 플러그인을 만들고 싶습니다.
은 '지금까지 내가
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 형식으로 블록 위치를 얻으려면 어떻게해야합니까?

미리 감사드립니다.

편집 : 코드의 근무 조각 :

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()를'설정할 수 있습니다보십시오 (blockLocation)'. – dly

+0

귀하의 의견을 답변으로 변형하여 받아 들일 수 있습니까? –

+1

괜찮 았음 ... 완료 – dly

답변

2

이 당신에게 그 블록의 Location 얻을 것이다 :

Location blockLocation = b.getLocation(); 

Location 클래스를 사용하면 getBlockX(), getBlockY()를 사용하여 좌표를 액세스 할 수 있습니다 및 getBlockZ()getWorld() 외 (Reference).

그리고 당신은 당신이 당신의 blockLocation에 이것을 사용할 수 있습니다 RegionCoordinates 작업 할 경우 :

RegionCoordinates regionCoords = RegionCoordinates.fromLocation(blockLocation);