Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
hallo. ich habe eine frage!
Ich habe einen npc erstellt, ich will aber dafür sorgen, dass der NPC vor dem Spieler erscheint und verschwindet (das habe ich hingekriegt). Also wie bei dem anti kill aura plugin

nur mein problem ist, es gibt bei minecraft X / Z koordinaten . ich kann nicht einstellen, dass der NPC exakt vor dem spieler entsteht. wenn ich mich umdrehe z.b. (yaw, pitch), dann ist der npc an der falschen Seite.
bsp.
x, y, z, yaw, pitch
Spieler X: 200 60 140, 30, 50
npc: 201 60 141, 30, 50
npc soll vor dem spieler entstehen
wenn ich mich umdrehe, dann ist der npc immer noch auf der falschen seite.

npc soll also immer nur vor dem spieler entstehen.. denn ich teste nämlich huzuni und da geht der kill aura so schlecht. Wenn ich hinter dem spieler das spawne, dann erkennt der nicht. muss immer radius erhöhen von kill aura.
vom plugin her, habe ich den npc näher gemacht, aber kill aura mit standard radius erkennt halt sowas nicht..

bitte helft mir. danke im voraus
 
hallo. ich habe eine frage!
Ich habe einen npc erstellt, ich will aber dafür sorgen, dass der NPC vor dem Spieler erscheint und verschwindet (das habe ich hingekriegt). Also wie bei dem anti kill aura plugin

nur mein problem ist, es gibt bei minecraft X / Z koordinaten . ich kann nicht einstellen, dass der NPC exakt vor dem spieler entsteht. wenn ich mich umdrehe z.b. (yaw, pitch), dann ist der npc an der falschen Seite.
bsp.
x, y, z, yaw, pitch
Spieler X: 200 60 140, 30, 50
npc: 201 60 141, 30, 50
npc soll vor dem spieler entstehen
wenn ich mich umdrehe, dann ist der npc immer noch auf der falschen seite.

npc soll also immer nur vor dem spieler entstehen.. denn ich teste nämlich huzuni und da geht der kill aura so schlecht. Wenn ich hinter dem spieler das spawne, dann erkennt der nicht. muss immer radius erhöhen von kill aura.
vom plugin her, habe ich den npc näher gemacht, aber kill aura mit standard radius erkennt halt sowas nicht..

bitte helft mir. danke im voraus
Am besten benutzt du die Direction des Spielers.
Diese nimmst du, machst sie zu einem Einheitsvektor mit Länge 1 (vektor.normalize()) und addierst sie auf die Location des Spielers. Fertig ist deine Location.
 
Am besten benutzt du die Direction des Spielers.
Diese nimmst du, machst sie zu einem Einheitsvektor mit Länge 1 (vektor.normalize()) und addierst sie auf die Location des Spielers. Fertig ist deine Location.
danke, funktioniert prima!! :)

ich habe eine frage noch.. bei einem asynchronen thread
man erstellt ja ein runnable, das hat eine void methode. jedoch brauche ich bei stats zb eine getKills methode.
da brauche ich einen result zurück also einen int
da void aber kein result zurückgibt weiß ich nicht wie ich das machen soll

kannst du bitte sagen wie man das macht? viele erstellen ein interface um zu getten
gibt es aber eine bessere methode?
danke im voraus
 
danke, funktioniert prima!! :)

ich habe eine frage noch.. bei einem asynchronen thread
man erstellt ja ein runnable, das hat eine void methode. jedoch brauche ich bei stats zb eine getKills methode.
da brauche ich einen result zurück also einen int
da void aber kein result zurückgibt weiß ich nicht wie ich das machen soll

kannst du bitte sagen wie man das macht? viele erstellen ein interface um zu getten
gibt es aber eine bessere methode?
danke im voraus
Am besten benutzt du Callbacks. Versucht du, Stats von einer Datenbank abzurufen und willst sie deshalb asynchron ausgeführt haben? ;)
 
Es wird eine NumberFormatException geworfen. Die NumberFormatException wird ausgelöst, wenn Zahlen in einem falschen Format vorliegen, beispielsweise bei der Konvertierung eines Strings in eine Zahl.
 
Es wird eine NumberFormatException geworfen. Die NumberFormatException wird ausgelöst, wenn Zahlen in einem falschen Format vorliegen, beispielsweise bei der Konvertierung eines Strings in eine Zahl.
Beim Fehler wird aber auf die Connection Class hingewiesen. In dieser habe ich aber keine Zahlen verwendet.
Zudem habe ich auch nichts in Zahlen umwandeln lassen. Oder bin ich einfach zu blöd um es zu erkennen?

~Raudi
 
Du brauchst doch den Port usw diesen gettest du aus der Config. Vermutlich liegt da der Fehler
 
Könnte es Hiermit
Code:
    public static void setStandartMySQL() {
        FileConfiguration cfg = getMySQLFileConfiguration();
        cfg.options().copyDefaults(true);
        cfg.addDefault("username", "root");
        cfg.addDefault("password", "password");
        cfg.addDefault("database", "localhost");
        cfg.addDefault("host", "localhost");
        cfg.addDefault("port", "3306");
       
        try {
            cfg.save(getMySQLFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
       
    }
   
    public static void readMySQL() {
        FileConfiguration cfg = getMySQLFileConfiguration();
        MySQL.username = cfg.getString("username");
        MySQL.password = cfg.getString("password");
        MySQL.database = cfg.getString("database");
        MySQL.host = cfg.getString("localhost");
        MySQL.port = cfg.getString("3306");
    }
   
}
Und hiermit
Code:
    public static String username;
    public static String password;
    public static String database;
    public static String host;
    public static String port;
    public static Connection con;
   
    public static void connect() {
        if(!isConnected()) {
               
                    try {
                        con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
                        Bukkit.getConsoleSender().sendMessage(Main.getInstance().prefix + "MySQL Verbindung aufgebaut");
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
        }
Zutun haben? Ich finde zwar keinen Fehler aber das sind die Configsachen, welche mit MySQL zutun haben.

~Raudi
 
MySQL.host = cfg.getString("localhost");
Hier ist dir wohl ein Fehler unterlaufen, es muss
MySQL.host = cfg.getString("host");
Sein.
Das gleiche beim Port. Statt "3306" beim getten "port" angeben, da das ja dein Key ist.
 
könnte jemand mir kurz helfen?
ich will den Kill mit getKills() getten und will das asynchron machen.. das problem ist, das man keinen result geben kann. @Sheigutn hat mir geschrieben dass ich callbacks brauche.
jedoch habe ich im internet nichts (gutes) über callbacks gefunden was mir helfen könnte..

könnte jemand ein tutorial schicken oder ein codebeispiel machen, falls das geht bitte? :(
danke im voraus
das soll alles asynchron laufen & einen result geben.. asynchrone threads geben keine results zurück da es eine void methode ist.
 
Weiß jemand wie ich wenn jemand einen trank in der hand hat ein potion effect auf den trank in der hand mache?
 
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