Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Ich glaube irgendwo mal gehört zu haben das man die Länge irgendwie einstellen kann. Wenn nicht korregiert mich bitte. :)
Korrigierung. Nein, kann man nicht.
Man kann 2 Angaben machen:
1. Argument: IChatBaseComponent
2. Argument: byte Position

Jetzt einfach mal eine andere Frage. Wie viel Rechenleistung zieht ein Scheduler eigentlich?
Nicht viel, zumindest kein Asynchroner
 
  • Like
Reaktionen: lusu007
Korrigierung. Nein, kann man nicht.
Man kann 2 Angaben machen:
1. Argument: IChatBaseComponent
2. Argument: byte Position


Nicht viel, zumindest kein Asynchroner

Was kann man bei der Byte Position angeben?


Was machen asynchrone denn?
Habe noch nie mit denen gearbeitet. Hab davon immer nur gehört.

Wofür kann man die zum Beispiel verwenden?
 
Was kann man bei der Byte Position angeben?


Was machen asynchrone denn?
Habe noch nie mit denen gearbeitet. Hab davon immer nur gehört.

Wofür kann man die zum Beispiel verwenden?
Zusammengefasst:
(byte) 0 = Chat, (byte) 1 = chat, (byte) 2 = Hotbar
Mehr Infos hier: http://wiki.vg/Protocol#Chat_Message

Asynchrone Scheduler laufen (wie der Name schon sagt) Asynchron zum Hauptthread. Das heist, dass sie einen eigenen Thread haben und
1. Der Mainthread von Bukkit nicht so stark ausgelastet wird
2. Der Scheduler UNABHÄNGIG vom Hauptthread läuft
 
  • Like
Reaktionen: lusu007
Kann mir wer zeigen, wie ich einen Spieler füssig nach vorne TPn kann, also das Pro Sekunde 1 Block und was der Spieler sich dann aber nicht bewegen kann, nur den Kopf drehen und kippen.?
 
Kann mir wer zeigen, wie ich einen Spieler füssig nach vorne TPn kann, also das Pro Sekunde 1 Block und was der Spieler sich dann aber nicht bewegen kann, nur den Kopf drehen und kippen.?
Ich denke, dass du das nicht verwirklichen kann, weil:
Im PlayerMoveEvent kannst du zwar gucken, ob sich x + z ändern. Ist das der Fall, so cancellest du das Event und teleportierst ihn wieder zurück (sollte so gehen, weis es gerade nicht genau:
PHP:
e.getPlayer().setTo(e.getFrom())

Das Problem:
Wenn du im eine Velocity gibst, verändert sich x + y und du müsstest dir etwas anderes überlegen....

Ich wüsste gerade auf Anhieb nicht, wie man es umsetzen könnte.
Frag mal @Zeno oder @geNAZt
Die haben mehr Erfahrung als ich...
 
Ich denke, dass du das nicht verwirklichen kann, weil:
Im PlayerMoveEvent kannst du zwar gucken, ob sich x + z ändern. Ist das der Fall, so cancellest du das Event und teleportierst ihn wieder zurück (sollte so gehen, weis es gerade nicht genau:
PHP:
e.getPlayer().setTo(e.getFrom())

Das Problem:
Wenn du im eine Velocity gibst, verändert sich x + y und du müsstest dir etwas anderes überlegen....

Ich wüsste gerade auf Anhieb nicht, wie man es umsetzen könnte.
Frag mal @Zeno oder @geNAZt
Die haben mehr Erfahrung als ich...
Vllt Minecart oder so? Würde das gehen?
 
Kann mir wer zeigen, wie ich einen Spieler füssig nach vorne TPn kann, also das Pro Sekunde 1 Block und was der Spieler sich dann aber nicht bewegen kann, nur den Kopf drehen und kippen.?
Damit der Spieler sich nicht bewegen kann.
Java:
player.setWalkSpeed(0); // laufgeschwindigkeit des Spielers wird auf 0 gesetzt
player.setFlySpeed(0);
player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, Integer.MAX_VALUE, -11)); // Negativer JumpBoost Effekt für kein Springen
players.add(player.getUniqueId());
Damit der Spieler Teleportiert wird:
Java:
new BukkitRunnable() {
  @Override
    public void run() {
      players.stream().filter(uuid -> Bukkit.getPlayer(uuid) != null).forEach(uuid -> { // Durch eine Liste mit Java 8 Lambda iterieren
        Player player = Bukkit.getPlayer(uuid);
        Location location = player.getLocation();
        location.setPitch(0);
        location.setYaw(0);
        Location locTo = player.getLocation().add(1, 0, 0); // z-Wert um 1 erhöhen
        locTo.setPitch(0);
        locTo.setYaw(0);
        Vector vector = location.subtract(locTo).getDirection().multiply(0.38); // <-- der "spannende" Teil:
//Eigentlich nur einfache Mathematik mit Vektoren - man bekommt die Richtung von zwei Orten, indem man den alten Vektor vom neuen Vektor subtrahiert.
//'multiply(0.38)' vergrößert die Länge oder "Stärke" des Vektors um den Faktor 0.38.
        player.setVelocity(vector);
    });
  }
}.runTaskTimer(this, 0, 20); // wird jede Sekunde ausgeführt
 
  • Like
Reaktionen: TebosBrime
Damit der Spieler sich nicht bewegen kann.
Java:
player.setWalkSpeed(0); // laufgeschwindigkeit des Spielers wird auf 0 gesetzt
player.setFlySpeed(0);
player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, Integer.MAX_VALUE, -11)); // Negativer JumpBoost Effekt für kein Springen
players.add(player.getUniqueId());
Damit der Spieler Teleportiert wird:
Java:
new BukkitRunnable() {
  @Override
    public void run() {
      players.stream().filter(uuid -> Bukkit.getPlayer(uuid) != null).forEach(uuid -> { // Durch eine Liste mit Java 8 Lambda iterieren
        Player player = Bukkit.getPlayer(uuid);
        Location location = player.getLocation();
        location.setPitch(0);
        location.setYaw(0);
        Location locTo = player.getLocation().add(1, 0, 0); // z-Wert um 1 erhöhen
        locTo.setPitch(0);
        locTo.setYaw(0);
        Vector vector = location.subtract(locTo).getDirection().multiply(0.38); // <-- der "spannende" Teil:
//Eigentlich nur einfache Mathematik mit Vektoren - man bekommt die Richtung von zwei Orten, indem man den alten Vektor vom neuen Vektor subtrahiert.
//'multiply(0.38)' vergrößert die Länge oder "Stärke" des Vektors um den Faktor 0.38.
        player.setVelocity(vector);
    });
  }
}.runTaskTimer(this, 0, 20); // wird jede Sekunde ausgeführt

Nun habe ich das Problem, das

public abstract class Game extends JavaPlugin{

das Game wird Rot angezeigt und als Fehler kommt: The hierarchy of the type Game is inconsistent
 
Moin Leute,

kann man in der 1.7.10 Protocol Hack irgendwie die Barriere benutzten?

Nö.

Nun habe ich das Problem, das

public abstract class Game extends JavaPlugin{

das Game wird Rot angezeigt und als Fehler kommt: The hierarchy of the type Game is inconsistent
Ich weiß nicht, ob's hilft, aber lass abstract in der Hauptklasse weg. gehört da eh nicht hin.


Deine Hauptklasse die von JavaPlugin erbt kann/soll nicht abstract sein. Es gibt keinen Grund und Sinn das zu machen.
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop