瀏覽代碼

expanding the abstraction again...

nossr50 6 年之前
父節點
當前提交
9383b1c65c

+ 2 - 1
core/src/main/java/com/gmail/nossr50/core/chat/AdminChatManager.java

@@ -1,5 +1,6 @@
 package com.gmail.nossr50.core.chat;
 
+import com.gmail.nossr50.core.McmmoCore;
 import com.gmail.nossr50.core.config.Config;
 import com.gmail.nossr50.core.events.chat.McMMOAdminChatEvent;
 
@@ -15,6 +16,6 @@ public class AdminChatManager extends ChatManager {
 
     @Override
     protected void sendMessage() {
-        plugin.getServer().broadcast(message, "mcmmo.chat.adminchat");
+        McmmoCore.getServer().broadcast(message, "mcmmo.chat.adminchat");
     }
 }

+ 1 - 1
core/src/main/java/com/gmail/nossr50/core/chat/ChatManager.java

@@ -43,7 +43,7 @@ public abstract class ChatManager {
             McMMOPartyChatEvent partyChatEvent = (McMMOPartyChatEvent) event;
 
             //Find the people with permissions
-            for (Player player : event.getPlugin().getServer().getOnlinePlayers()) {
+            for (Player player : McmmoCore.getServer().getOnlinePlayers()) {
                 //Check for toggled players
                 if (UserManager.getPlayer(player).isPartyChatSpying()) {
                     Party adminParty = UserManager.getPlayer(player).getParty();

+ 4 - 5
core/src/main/java/com/gmail/nossr50/core/events/chat/McMMOAdminChatEvent.java

@@ -1,16 +1,15 @@
 package com.gmail.nossr50.core.events.chat;
 
-import org.bukkit.plugin.Plugin;
 
 /**
  * Called when a chat is sent to the admin chat channel
  */
 public class McMMOAdminChatEvent extends McMMOChatEvent {
-    public McMMOAdminChatEvent(Plugin plugin, String sender, String displayName, String message) {
-        super(plugin, sender, displayName, message);
+    public McMMOAdminChatEvent(String sender, String displayName, String message) {
+        super(sender, displayName, message);
     }
 
-    public McMMOAdminChatEvent(Plugin plugin, String sender, String displayName, String message, boolean isAsync) {
-        super(plugin, sender, displayName, message, isAsync);
+    public McMMOAdminChatEvent(String sender, String displayName, String message, boolean isAsync) {
+        super(sender, displayName, message, isAsync);
     }
 }

+ 9 - 11
core/src/main/java/com/gmail/nossr50/core/events/chat/McMMOChatEvent.java

@@ -1,9 +1,7 @@
 package com.gmail.nossr50.core.events.chat;
 
-import org.bukkit.event.Cancellable;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-import org.bukkit.plugin.Plugin;
+import com.gmail.nossr50.core.mcmmo.event.Cancellable;
+import com.gmail.nossr50.core.mcmmo.event.Event;
 
 public abstract class McMMOChatEvent extends Event implements Cancellable {
     /**
@@ -11,36 +9,36 @@ public abstract class McMMOChatEvent extends Event implements Cancellable {
      **/
     private static final HandlerList handlers = new HandlerList();
     private boolean cancelled;
-    private Plugin plugin;
     private String sender;
     private String displayName;
     private String message;
 
-    protected McMMOChatEvent(Plugin plugin, String sender, String displayName, String message) {
-        this.plugin = plugin;
+    protected McMMOChatEvent(String sender, String displayName, String message) {
         this.sender = sender;
         this.displayName = displayName;
         this.message = message;
     }
 
-    protected McMMOChatEvent(Plugin plugin, String sender, String displayName, String message, boolean isAsync) {
+    protected McMMOChatEvent(String sender, String displayName, String message, boolean isAsync) {
         super(isAsync);
-        this.plugin = plugin;
         this.sender = sender;
         this.displayName = displayName;
         this.message = message;
     }
 
+    /*
     public static HandlerList getHandlerList() {
         return handlers;
     }
+    */
 
     /**
      * @return The plugin responsible for this event, note this can be null
      */
-    public Plugin getPlugin() {
+    //TODO: Why do we even need this?
+    /*public Plugin getPlugin() {
         return plugin;
-    }
+    }*/
 
     /**
      * @return String name of the player who sent the chat, or "Console"

+ 6 - 0
core/src/main/java/com/gmail/nossr50/core/mcmmo/Nameable.java

@@ -14,4 +14,10 @@ public interface Nameable extends Named {
      * @return the original name of this entity
      */
     String getOriginalName();
+
+    /**
+     * This is the name used for chat messages and other things
+     * @return the display name of this entity
+     */
+    String getDisplayName();
 }

+ 6 - 0
core/src/main/java/com/gmail/nossr50/core/mcmmo/entity/Player.java

@@ -30,4 +30,10 @@ public interface Player extends Living, Nameable, InventoryHolder, Permissible {
      * @return the item in the main hand
      */
     ItemStack getItemInMainHand();
+
+    /**
+     * Sends a message to this player
+     * @param msg the message to send
+     */
+    void sendMessage(String msg);
 }

+ 1 - 1
core/src/main/java/com/gmail/nossr50/core/mcmmo/event/Cancellable.java

@@ -10,7 +10,7 @@ public interface Cancellable {
      *
      * @return true if cancelled
      */
-    Boolean isCancelled();
+    boolean isCancelled();
 
     /**
      * Sets an events cancellation to b

+ 7 - 0
core/src/main/java/com/gmail/nossr50/core/mcmmo/server/Server.java

@@ -13,6 +13,13 @@ public interface Server {
      */
     void broadcast(String msg);
 
+    /**
+     * Broadcasts a message only to players with the appropriate permission node
+     * @param msg the message to broadcast
+     * @param permission the permission node required to hear the message
+     */
+    void broadcast(String msg, String permission);
+
     /**
      * Gets the online players for this server
      * @return the online players for this server