Hallo.
Unter Lua hatten/haben wir die Möglichkeit die aktuelle Position des Spielers mit event.player:getPosition(); auszulesen.
Nun gibt es aber nicht mehr getPosition() wie lautet es den nun?
Ich habe nun vor ein kleines Script zu schreiben welches den Todespunkt in der Datenbank speichert damit der Spieler via /back zurück kommt um seine Leiche leer zu räumen.
Habe soweit auch einiges fertig aber die MySQL Datenbank hält mich wieder auf, da diese nix speichert, aber das ist ein anderes Thema. 
Kommt ein Spieler das erste mal auf den Server wird geprüft ob er schon mal da war, wenn nein dann wird ein Back Punkt erstellt anhand der getSpawnPosition() ist das ok?
Das müsste doch der Spawn Punkt sein, wenn ich das richtig verstehe?
Gerne könnt ihr ja mal über den unfertigen Code schauen, und bin für Tipps sehr dankbar.
package net.risingworld.tmnplugin.BackSystem;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.risingworld.api.Plugin;
import net.risingworld.api.database.WorldDatabase;
import net.risingworld.api.events.EventMethod;
import net.risingworld.api.events.Listener;
import net.risingworld.api.events.player.PlayerCommandEvent;
import net.risingworld.api.events.player.PlayerDeathEvent;
import net.risingworld.api.events.player.PlayerSpawnEvent;
import net.risingworld.api.objects.Player;
import net.risingworld.api.utils.Vector3f;
public class BackSystem extends Plugin implements Listener {
registerEventListener(this);
System.out.println("Back Plugin wurde erfolgreich geladen!");
public void onPlayerSpawn(PlayerSpawnEvent event){
Player player = event.getPlayer();
WorldDatabase db = getWorldDatabase();
ResultSet result = db.executeQuery("SELECT * FROM `tmn-back-system` WHERE `PlayerName` = '" + player.getName() + "'");
Vector3f NowTargetPos = event.getSpawnPosition();
float NowNewPosx = NowTargetPos.x;
float NowNewPosy = NowTargetPos.y;
float NowNewPosz = NowTargetPos.z;
db.executeUpdate("INSERT INTO `tmn-back-system` (PlayerName, BackPos_x, BackPos_y, BackPos_z) VALUES ('" + player.getName() + "', '" + NowNewPosx + "', '" + NowNewPosy + "', '" + NowNewPosz + "');");
player.sendTextMessage("Ein /back Punkt wurde für dich erstellt.");
public void onPlayerDeath(PlayerDeathEvent event){
Player player = event.getPlayer();
player.sendTextMessage("[BACK] Neuer /back Punkt wurde erstellt...");
Vector3f BackTargetPos = event.getDeathPosition();
float BackNewPosx = BackTargetPos.x;
float BackNewPosy = BackTargetPos.y;
float BackNewPosz = BackTargetPos.z;
WorldDatabase db = getWorldDatabase();
db.executeUpdate("UPDATE `tmn-back-system` SET `BackPos_x` = '" + BackNewPosx + "', `BackPos_y` = '" + BackNewPosy + "', `BackPos_z` = '" + BackNewPosz + "' WHERE `PlayerName` = '" + player.getName() + "'");
public void onPlayerCommand(PlayerCommandEvent event){
Player player = event.getPlayer();
String command = event.getCommand();
String[] cmd = command.split(" ");
if(cmd[0].equals("/back")){
player.sendTextMessage("[BACK] Neuer /back Punkt wurde erstellt...");
Vector3f BackTargetPos = event.XXXXXX
float BackNewPosx = BackTargetPos.x;
float BackNewPosy = BackTargetPos.y;
float BackNewPosz = BackTargetPos.z;
WorldDatabase db = getWorldDatabase();
db.executeUpdate("UPDATE `tmn-back-system` SET `BackPos_x` = '" + BackNewPosx + "', `BackPos_y` = '" + BackNewPosy + "', `BackPos_z` = '" + BackNewPosz + "' WHERE `PlayerName` = '" + player.getName() + "'");
Display More
Grüßle TMN