summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2010-12-30 04:52:26 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2010-12-30 04:52:26 +0000
commitdf119a36e018e9b5a151e5f76def13fc328e388e (patch)
tree20d5744bd5767d426ba0141df077ef4c3c7531a9
parent31d03b2ac066d67867740e20991fe8436487ff39 (diff)
downloadbukkit-df119a36e018e9b5a151e5f76def13fc328e388e.tar
bukkit-df119a36e018e9b5a151e5f76def13fc328e388e.tar.gz
bukkit-df119a36e018e9b5a151e5f76def13fc328e388e.tar.lz
bukkit-df119a36e018e9b5a151e5f76def13fc328e388e.tar.xz
bukkit-df119a36e018e9b5a151e5f76def13fc328e388e.zip
Added sendMessage() to player, added /pos to sample plugin
-rw-r--r--sample/src/com/dinnerbone/bukkit/sample/SamplePlayerListener.java31
-rw-r--r--sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java1
-rw-r--r--src/org/bukkit/Player.java7
3 files changed, 39 insertions, 0 deletions
diff --git a/sample/src/com/dinnerbone/bukkit/sample/SamplePlayerListener.java b/sample/src/com/dinnerbone/bukkit/sample/SamplePlayerListener.java
index 0e28a955..75589bfc 100644
--- a/sample/src/com/dinnerbone/bukkit/sample/SamplePlayerListener.java
+++ b/sample/src/com/dinnerbone/bukkit/sample/SamplePlayerListener.java
@@ -1,6 +1,9 @@
package com.dinnerbone.bukkit.sample;
+import org.bukkit.Location;
+import org.bukkit.Player;
+import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.event.player.PlayerListener;
@@ -24,4 +27,32 @@ public class SamplePlayerListener extends PlayerListener {
public void onPlayerQuit(PlayerEvent event) {
System.out.println(event.getPlayer().getName() + " left the server! :'(");
}
+
+ @Override
+ public void onPlayerCommand(PlayerChatEvent event) {
+ String[] split = event.getMessage().split(" ");
+ Player player = event.getPlayer();
+
+ if (split[0].equalsIgnoreCase("/pos")) {
+ if (split.length == 1) {
+ Location location = player.getLocation();
+ player.sendMessage("You are currently at " + location.getX() +"," + location.getY() + "," + location.getZ() +
+ " with " + location.getYaw() + " yaw and " + location.getPitch() + " pitch");
+ } else if (split.length == 4) {
+ try {
+ double x = Double.parseDouble(split[1]);
+ double y = Double.parseDouble(split[2]);
+ double z = Double.parseDouble(split[3]);
+
+ player.teleportTo(new Location(player.getWorld(), x, y, z));
+ } catch (NumberFormatException ex) {
+ player.sendMessage("Given location is invalid");
+ }
+ } else {
+ player.sendMessage("Usage: '/pos' to get current position, or '/pos x y z' to teleport to x,y,z");
+ }
+
+ event.setCancelled(true);
+ }
+ }
}
diff --git a/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java b/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java
index 95fe2299..53bb1317 100644
--- a/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java
+++ b/sample/src/com/dinnerbone/bukkit/sample/SamplePlugin.java
@@ -36,5 +36,6 @@ public class SamplePlugin extends JavaPlugin {
private void registerEvents() {
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Normal, this);
+ getServer().getPluginManager().registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Normal, this);
}
}
diff --git a/src/org/bukkit/Player.java b/src/org/bukkit/Player.java
index 1958caf9..7d4c5ed7 100644
--- a/src/org/bukkit/Player.java
+++ b/src/org/bukkit/Player.java
@@ -12,4 +12,11 @@ public interface Player extends HumanEntity {
* @return true if they are online
*/
public boolean isOnline();
+
+ /**
+ * Sends this player a message, which will be displayed in their chat
+ *
+ * @param message Message to be displayed
+ */
+ public void sendMessage(String message);
}