Jump to content

horse teleport auf andere welt


nitan

Empfohlene Beiträge

Hallo die eingabe ist /horse tp <uid>

das pferd wird zu spieler teleportiert wenn dich dieser auf der gleichen welt befindet doch wenn der spieler auf einer anderen welt ist wird das pfert zu der location von spieler teleportier doch auf der welt wo das pfert ist und nicht da wo der spieler ist.


package me.nitan.basic;


import me.nitan.basic.HorseModifier.HorseType;

import me.nitan.basic.HorseModifier.HorseVariant;


import org.bukkit.Bukkit;

import org.bukkit.Location;

import org.bukkit.command.Command;

import org.bukkit.command.CommandExecutor;

import org.bukkit.command.CommandSender;

import org.bukkit.entity.Entity;

import org.bukkit.entity.Horse;

import org.bukkit.entity.Player;


public class cmdHorse implements CommandExecutor{

	private nexusBasic plugin;

	public cmdHorse(nexusBasic plugin){

		this.plugin = plugin;

	}


	@Override

	public boolean onCommand(CommandSender Player, Command cmd, String label, String[] args) {

		if(Player instanceof Player){

		Player p = (Player) Player;


		if(args[0].equalsIgnoreCase("tp")){

					if(getEntity(args[1])==null){

						System.out.println("nicht gefunden");

					}else{

						Location l = new Location(p.getWorld(), p.getLocation().getX(), p.getLocation().getY(), p.getLocation().getZ());

						Horse h = (Horse) getEntity(args[1]);

						h.teleport(l);

						System.out.println("tele");

					}

		}


		}

		return true;

	}

	public static Entity getEntity(String string) {

		for (org.bukkit.entity.Entity entity : Bukkit.getWorld("gswelt").getEntities()) {

			if (entity.getUniqueId().toString().equals(string)) {

				return entity;

			}

		}

		return null;

	}




}

Link zu diesem Kommentar
Auf anderen Seiten teilen

folgendes


h.teleport(l);

teleportiert ein Pferd an die location dabei übergebe ich X;Y;Z;Welt

das macht er auch aber nur in der gleichen Welt wo das Pferd auch ist.

sagen wir mal das Pferd ist in der Grundstückwelt und ich möchte es in die Farmwelt teleportieren

dann teleporiert es das Pferd an die Koordinaten die ich angegeben hab doch in die Grundstückwelt

das verstehe ich aber nicht ich gib bei der location doch die Farmwelt an...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schon besser :) Ersteinmal:

Location l = new Location(p.getWorld(), p.getLocation().getX(), p.getLocation().getY(), p.getLocation().getZ());

Warum legst du denn hier eine neue Location an? Es reicht doch, wenn du einfach das Pferd zum Spieler teleportierst:

h.teleport(p.getLocation);

Sonst müsste es eigentlich gehen :)

Anmerkung:

Natürlich nur wenn das Pferd in der "gswelt" ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo ich lege eine neue variable an da dieser Code nur ein Ausschnitt von meinen Code ist also macht es hier nicht Grade viel Sinn.

doch selbst mit :


h.teleport(p.getLocation);

Teleportiert er das Pferd nicht weltübergreifend das Pferd wird immer an die richtige Koordinate teleportiert aber nur auf der Welt wo sich das Pferd befindet

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B