diff --git a/paper-api/src/main/java/org/bukkit/command/CommandSender.java b/paper-api/src/main/java/org/bukkit/command/CommandSender.java index 713e325f05..0516abcd77 100644 --- a/paper-api/src/main/java/org/bukkit/command/CommandSender.java +++ b/paper-api/src/main/java/org/bukkit/command/CommandSender.java @@ -1,5 +1,7 @@ package org.bukkit.command; +import org.bukkit.Server; + public interface CommandSender { /** @@ -24,4 +26,11 @@ public interface CommandSender { */ @Deprecated public boolean isPlayer(); + + /** + * Returns the server instance that this player is running through + * + * @return Server instance + */ + public Server getServer(); } \ No newline at end of file diff --git a/paper-api/src/main/java/org/bukkit/command/ConsoleCommandSender.java b/paper-api/src/main/java/org/bukkit/command/ConsoleCommandSender.java index 896c297053..43feafe53f 100644 --- a/paper-api/src/main/java/org/bukkit/command/ConsoleCommandSender.java +++ b/paper-api/src/main/java/org/bukkit/command/ConsoleCommandSender.java @@ -1,10 +1,18 @@ package org.bukkit.command; +import org.bukkit.Server; + /** * Represents CLI input from a console */ public class ConsoleCommandSender implements CommandSender { + private final Server server; + + public ConsoleCommandSender(Server server) { + this.server = server; + } + public void sendMessage(String message) { System.out.println(message.replaceAll("(?i)\u00A7[0-F]", "")); } @@ -16,4 +24,8 @@ public class ConsoleCommandSender implements CommandSender { public boolean isPlayer() { return false; } + + public Server getServer() { + return server; + } } diff --git a/paper-api/src/main/java/org/bukkit/entity/Entity.java b/paper-api/src/main/java/org/bukkit/entity/Entity.java index c38cc8ddc6..426b35f7b8 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Entity.java +++ b/paper-api/src/main/java/org/bukkit/entity/Entity.java @@ -2,6 +2,7 @@ package org.bukkit.entity; import org.bukkit.Location; +import org.bukkit.Server; import org.bukkit.World; /** @@ -68,4 +69,11 @@ public interface Entity { * Mark the entity's removal. */ public void remove(); + + /** + * Gets the {@link Server} that contains this Entity + * + * @return Server instance running this Entity + */ + public Server getServer(); }