Jump to content

horse teleport auf andere welt


nitan
 Share

Recommended Posts

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B