summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThinkofdeath <thinkofdeath@spigotmc.org>2015-01-04 23:25:31 +0000
committerThinkofdeath <thinkofdeath@spigotmc.org>2015-01-04 23:26:02 +0000
commit6ac32df219e6c00a404a3bec847ad87a9b699ad6 (patch)
tree1aa75aed09a0f15faaba71d536c131b1641edde9 /src
parent922e0a1a7f55ded3511624de5b385bc4c920662b (diff)
downloadcraftbukkit-6ac32df219e6c00a404a3bec847ad87a9b699ad6.tar
craftbukkit-6ac32df219e6c00a404a3bec847ad87a9b699ad6.tar.gz
craftbukkit-6ac32df219e6c00a404a3bec847ad87a9b699ad6.tar.lz
craftbukkit-6ac32df219e6c00a404a3bec847ad87a9b699ad6.tar.xz
craftbukkit-6ac32df219e6c00a404a3bec847ad87a9b699ad6.zip
Redirect execute through our command system and allow entities to be CommandSenders
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index b7e9d8fd..dee0d4ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.entity;
import java.util.List;
+import java.util.Set;
import java.util.UUID;
import net.minecraft.server.*;
@@ -14,10 +15,28 @@ import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.metadata.MetadataValue;
+import org.bukkit.permissions.PermissibleBase;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionAttachment;
+import org.bukkit.permissions.PermissionAttachmentInfo;
+import org.bukkit.permissions.ServerOperator;
import org.bukkit.plugin.Plugin;
import org.bukkit.util.Vector;
public abstract class CraftEntity implements org.bukkit.entity.Entity {
+ private static final PermissibleBase perm = new PermissibleBase(new ServerOperator() {
+
+ @Override
+ public boolean isOp() {
+ return false;
+ }
+
+ @Override
+ public void setOp(boolean value) {
+
+ }
+ });
+
protected final CraftServer server;
protected Entity entity;
private EntityDamageEvent lastDamageEvent;
@@ -436,4 +455,84 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
public boolean isCustomNameVisible() {
return getHandle().getCustomNameVisible();
}
+
+ @Override
+ public void sendMessage(String message) {
+
+ }
+
+ @Override
+ public void sendMessage(String[] messages) {
+
+ }
+
+ @Override
+ public String getName() {
+ return getHandle().getName();
+ }
+
+ @Override
+ public boolean isPermissionSet(String name) {
+ return perm.isPermissionSet(name);
+ }
+
+ @Override
+ public boolean isPermissionSet(Permission perm) {
+ return CraftEntity.perm.isPermissionSet(perm);
+ }
+
+ @Override
+ public boolean hasPermission(String name) {
+ return perm.hasPermission(name);
+ }
+
+ @Override
+ public boolean hasPermission(Permission perm) {
+ return this.perm.hasPermission(perm);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
+ return perm.addAttachment(plugin, name, value);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin) {
+ return perm.addAttachment(plugin);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
+ return perm.addAttachment(plugin, name, value, ticks);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
+ return perm.addAttachment(plugin, ticks);
+ }
+
+ @Override
+ public void removeAttachment(PermissionAttachment attachment) {
+ perm.removeAttachment(attachment);
+ }
+
+ @Override
+ public void recalculatePermissions() {
+ perm.recalculatePermissions();
+ }
+
+ @Override
+ public Set<PermissionAttachmentInfo> getEffectivePermissions() {
+ return perm.getEffectivePermissions();
+ }
+
+ @Override
+ public boolean isOp() {
+ return perm.isOp();
+ }
+
+ @Override
+ public void setOp(boolean value) {
+ perm.setOp(value);
+ }
}