summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-09-03 00:41:48 +0100
committerDinnerbone <dinnerbone@dinnerbone.com>2011-09-03 00:41:48 +0100
commit02067570299cbaed0d8274ab532ad228e7e845a5 (patch)
treeef4f31264646f26e55e4631cce6a37892e38089d
parentfe0cd5405b68ee437fc179558d5e9086323fbcc8 (diff)
downloadcraftbukkit-02067570299cbaed0d8274ab532ad228e7e845a5.tar
craftbukkit-02067570299cbaed0d8274ab532ad228e7e845a5.tar.gz
craftbukkit-02067570299cbaed0d8274ab532ad228e7e845a5.tar.lz
craftbukkit-02067570299cbaed0d8274ab532ad228e7e845a5.tar.xz
craftbukkit-02067570299cbaed0d8274ab532ad228e7e845a5.zip
Implemented OfflinePlayer
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftServer.java10
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java5
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java3
3 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 30959af2..8821739b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -806,4 +806,14 @@ public final class CraftServer implements Server {
return count;
}
+
+ public OfflinePlayer getOfflinePlayer(String name) {
+ OfflinePlayer result = getPlayer(name);
+
+ if (result == null) {
+ result = new CraftOfflinePlayer(this, name);
+ }
+
+ return result;
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 2e7ee5f5..fae0d803 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -16,7 +16,7 @@ import org.bukkit.plugin.Plugin;
public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
private CraftInventoryPlayer inventory;
- private final PermissibleBase perm = new PermissibleBase(this);
+ protected final PermissibleBase perm = new PermissibleBase(this);
private boolean op;
public CraftHumanEntity(final CraftServer server, final EntityHuman entity) {
@@ -110,7 +110,8 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
public void setOp(boolean value) {
this.op = value;
- recalculatePermissions();
+ perm.recalculatePermissions();
+ perm.calculatePermissions();
}
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 01cf763f..76eefc34 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -47,6 +47,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} else {
server.getHandle().f(getName());
}
+
+ perm.recalculatePermissions();
+ perm.calculatePermissions();
}
public boolean isPlayer() {