Wenn Spieler auf einen Bestimmten Block ist?

3 Antworten

Um hier auch mal eine ordentliche Antwort zu geben, die nicht auf Discord basiert (Leute, andere Leute wollen die Antwort vlltbsuch lesen?!)..

Um die Bewegungen eines Spielers zu registrieren und damit zu arbeiten, verwendet man einen sog. Listener, in dem Fall ein PlayerMoveListener.

Der hiermit verknüpfte Code wird jedes Mal ausgeführt, sobald sich der Spieler bewegt (dazu zählt btw auch MouseMovement, also Umgucken). In diesem kannst du die Position des Spielers mit [Player].getLocation() abfragen und diese mit [].subtract/add usw verändern. In deinem fall auf den Block unter dem Spieler. Darauffolgend ist es nun möglich mit [].getBlock().getMaterial() den Typ des Blockes zu erhalten. Diese lässt sich nun einfach mit dem von dir gewünschten Typ abgleichen (==) und bei Gleichheit zB ein Sieg auszulösen. (Hierbei ist eine Abfrage != null sinnvoll, um eine NullPointerException zu verhindern)

Ich hoffe ich konnte dir helfen (und mal wieder ein wenig Qualität in GF bringen..)

LG Atomsi

Nein einen standart minecraft command gutes Script ich bin an einem Ränder plugin gescheitert keine Fehlermeldungen aber der Server akzeptiert einfach nicht

Bei plugin kann ich dir noch nicht helfen aber ich könnte dir das ganze als command schreiben

LinXey 
Fragesteller
 07.11.2018, 19:44

Hä ich mache ja auch ein command hier mein code:

f((cmd.getName().equalsIgnoreCase("starttimeline"))) {

  p.teleport(start); 

     

  ItemStack item = new ItemStack(Material.COBBLESTONE);

item.setAmount(64);

p.getInventory().addItem(item);;

   

   Scoreboard gm = Bukkit.getScoreboardManager().getNewScoreboard();

Objective obj = gm.registerNewObjective("bd", "bd");

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

obj.setDisplayName("§5--(§cTimeLine§5)--");

obj.getScore(" ").setScore(12);

obj.getScore(org.bukkit.ChatColor.DARK_GRAY + "Dein Name:").setScore(11);

obj.getScore("§6" + p.getName()).setScore(10);

obj.getScore(" ").setScore(9);

obj.getScore(ChatColor.GRAY + "Score:").setScore(8);

obj.getScore("§6" + p.getLevel()).setScore(7);

p.setScoreboard(gm);

}

Sieht bisher in der main so aus ! wollte nur wissen wie ich abfrage ob der spieler an einen block mit radius ist also bzw ein block wo ich noch den radius der erkennung einstellen kann!

0