Block holen, AN DEM ein block platziert wurde?


03.05.2021, 17:37

Ich rede von Bukkit/Spigot programmieren hehe

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
@EventHandler
public void onPlaceBlock(BlockPlaceEvent event) {
    Block block = event.getBlock();
    World world = block.getWorld();
    if (block.getType() == Material.STONE) {
        Location location = block.getLocation();
        Block blockAt = world.getBlockAt(location.clone().add(0, -1, 0));
        if (blockAt.getType() == Material.GRASS_BLOCK) {
            Block grassBlock = blockAt;
            // Dein Block
        }
    }
    
}

Du musst dir den Block unter dem Stein mit world.getBlockAt(Location location) holen. Diese Location ist dabei eine Kopie der Location des Steinblocks, nur dass die y-Koordinate um 1 verringert wird. Dann wird noch abgefragt ob der Block an dieser neuen Location ein Grasblock ist und wenn ja, dann ist "blockAt" in diesem Beispielcode dein Grasblock.

Woher ich das weiß:eigene Erfahrung
MineMuse07 
Fragesteller
 03.05.2021, 18:02

und wenn man den Block neben einem Grasblock plaziert aber an dem Grassblock?

0
DerEnzon  03.05.2021, 18:03
@MineMuse07

Dann musst du zuerst alle x und z Koordinaten/Locations, die direkt neben dem Stein sind auf Grasblöcke überprüfen. Dazu müsstest du wissen wie das Koordinatensystem in Minecraft oder generell in Mathe funktioniert.

0