Wie kann ich Abfragen ob der Spieler auf auf dem Block steht und ob er Aktiv oder Nicht Aktiv ist?

1 Antwort

Um zu überprüfen, ob ein Spieler auf einem Block steht, kannst du die Koordinaten des Spielers und des Blocks vergleichen. Du kannst die Methode getLocation() verwenden, um die Position des Spielers und des Blocks zu erhalten und dann die Koordinaten vergleichen. Wenn sie sich in der Nähe befinden (z. B. die Höhendifferenz ist gering), kannst du davon ausgehen, dass der Spieler auf dem Block steht.

Location playerLocation = player.getLocation();
Location blockLocation = block.getLocation();


if (playerLocation.distance(blockLocation) < 1.0) {
}

MorphineDEV 
Fragesteller
 12.09.2023, 01:35

Würde ich mal probieren vielen Dank

1
MorphineDEV 
Fragesteller
 12.09.2023, 03:05
@EventHandler
private void onSneak(PlayerToggleSneakEvent event) {

    final Player player = event.getPlayer();
    final Location location = player.getLocation();
    Block block = location.getBlock();

    if (event.isSneaking() && block.getType() == Material.DAYLIGHT_DETECTOR) {
        for (int i = 1; i < location.getBlockY(); ++i) {
            if (block.getRelative(BlockFace.DOWN, i).getType() == Material.DAYLIGHT_DETECTOR
                    && block.getRelative(BlockFace.DOWN, i - 1).getType() == Material.AIR
                    && block.getRelative(BlockFace.DOWN, i - 2).getType() == Material.AIR) {
                final Location target = player.getLocation();
                target.setY(location.getBlockY() - i + .375);
                if (location.distance(block.getLocation() < 1.0)) {

                }
                player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1L, 1L);
                player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 25, 1));
                player.teleport(target);
                break;
            }
        }
    }
}

Mir zeigt er bei if ((block.getLocation() < 1.0)) en fehler an

0
MorphineDEV 
Fragesteller
 12.09.2023, 03:25

Deine Antwort hat mir extrem weiter geholfen vielen dank. Aber wie kann ich das machen das ich Abfragen kann ob der Spieler der den nutzen will der Ersteller ist? Und ob der Daylight Detector an oder aus ist?

0