Skip to content

Commit b89b057

Browse files
committed
Added method for retrieving console and console is constant now
1 parent 263a7a7 commit b89b057

File tree

5 files changed

+81
-13
lines changed

5 files changed

+81
-13
lines changed

bungee/src/main/java/com/github/fernthedev/fernapi/server/bungee/BungeeInterface.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@
2525
public class BungeeInterface implements MethodInterface<ProxiedPlayer, CommandSender> {
2626
private FernBungeeAPI fernBungeeAPI;
2727
private final Logger abstractLogger;
28+
private final IFConsole<CommandSender> console;
2829

2930
BungeeInterface(FernBungeeAPI fernBungeeAPI) {
3031
this.fernBungeeAPI = fernBungeeAPI;
3132
abstractLogger = LoggerFactory.getLogger(fernBungeeAPI.getLogger().getName());
33+
console = new BungeeFConsole(ProxyServer.getInstance().getConsole(), fernBungeeAPI.audienceProvider.console());
3234
}
3335

3436
@Override
@@ -52,6 +54,18 @@ public FernAPIPlugin getInstance() {
5254
return fernBungeeAPI;
5355
}
5456

57+
@NonNull
58+
@Override
59+
public CommandSender getConsole() {
60+
return ProxyServer.getInstance().getConsole();
61+
}
62+
63+
@NonNull
64+
@Override
65+
public IFConsole<CommandSender> getConsoleAbstract() {
66+
return console;
67+
}
68+
5569
/**
5670
* @param player The player
5771
* @return The {@link IFPlayer} player instance
@@ -77,8 +91,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(@NonNull Object command
7791
}
7892

7993
if(commandSender instanceof CommandSender) {
80-
CommandSender sender = (CommandSender) commandSender;
81-
return new BungeeFConsole(sender, fernBungeeAPI.audienceProvider.console());
94+
return console;
8295
}
8396

8497
return null;
@@ -92,7 +105,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(@NonNull Object command
92105
*/
93106
@Override
94107
public IFConsole<CommandSender> convertConsoleToAPISender(@NonNull CommandSender commandSender) {
95-
return new BungeeFConsole(commandSender, fernBungeeAPI.audienceProvider.console());
108+
return console;
96109
}
97110

98111
@Override

core/src/main/java/com/github/fernthedev/fernapi/universal/handlers/MethodInterface.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,22 @@ public interface MethodInterface<PlayerType, ConsoleType> {
2424

2525
FernAPIPlugin getInstance();
2626

27+
/**
28+
* Retrieves the abstracted console instance
29+
*
30+
* @return console instance. Cannot confirm whether it's always constant, may depend on platform.
31+
*/
32+
@NonNull
33+
ConsoleType getConsole();
34+
35+
/**
36+
* Retrieves the abstracted console instance
37+
*
38+
* @return console instance, is constant
39+
*/
40+
@NonNull
41+
IFConsole<ConsoleType> getConsoleAbstract();
42+
2743
/**
2844
*
2945
* @param player The player
@@ -49,7 +65,10 @@ public interface MethodInterface<PlayerType, ConsoleType> {
4965
/**
5066
* Converts the command sender to it's IFPlayer instance
5167
* @return
68+
*
69+
* @deprecated Use {@link #getConsoleAbstract()}
5270
*/
71+
@Deprecated
5372
IFConsole<ConsoleType> convertConsoleToAPISender(@NonNull ConsoleType commandSender);
5473

5574
/**

spigot/src/main/java/com/github/fernthedev/fernapi/server/spigot/SpigotInterface.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ public class SpigotInterface implements MethodInterface<Player, ConsoleCommandSe
2626

2727
private final FernSpigotAPI fernSpigotAPI;
2828
private final Logger abstractLogger;
29+
private final IFConsole<ConsoleCommandSender> console;
2930

3031
SpigotInterface(FernSpigotAPI fernSpigotAPI) {
3132
this.fernSpigotAPI = fernSpigotAPI;
3233
abstractLogger = LoggerFactory.getLogger(fernSpigotAPI.getLogger().getName());
34+
console = new SpigotFConsole(Bukkit.getConsoleSender(), fernSpigotAPI.getAudienceProvider().console());
3335
}
3436

3537
@Override
@@ -52,6 +54,16 @@ public FernAPIPlugin getInstance() {
5254
return fernSpigotAPI;
5355
}
5456

57+
@Override
58+
public @NonNull ConsoleCommandSender getConsole() {
59+
return Bukkit.getConsoleSender();
60+
}
61+
62+
@Override
63+
public @NonNull IFConsole<ConsoleCommandSender> getConsoleAbstract() {
64+
return console;
65+
}
66+
5567
@Override
5668
public <P> IFPlayer<P> convertPlayerObjectToFPlayer(P player) {
5769
return (IFPlayer<P>) new SpigotFPlayer((Player) player, player == null ? null : fernSpigotAPI.audienceProvider.player((Player) player));
@@ -75,8 +87,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(Object commandSender) {
7587
}
7688

7789
if(commandSender instanceof ConsoleCommandSender) {
78-
ConsoleCommandSender sender = (ConsoleCommandSender) commandSender;
79-
return new SpigotFConsole(sender, fernSpigotAPI.audienceProvider.console());
90+
return console;
8091
}
8192

8293
return null;
@@ -90,7 +101,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(Object commandSender) {
90101
*/
91102
@Override
92103
public IFConsole<ConsoleCommandSender> convertConsoleToAPISender(@NonNull ConsoleCommandSender commandSender) {
93-
return new SpigotFConsole(commandSender, fernSpigotAPI.audienceProvider.console());
104+
return console;
94105
}
95106

96107
@Override

sponge/src/main/java/com/github/fernthedev/fernapi/server/sponge/SpongeInterface.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.github.fernthedev.fernapi.universal.handlers.MethodInterface;
1111
import com.github.fernthedev.fernapi.universal.handlers.ServerType;
1212
import lombok.NonNull;
13-
import lombok.RequiredArgsConstructor;
1413
import org.slf4j.Logger;
1514
import org.spongepowered.api.Sponge;
1615
import org.spongepowered.api.command.source.ConsoleSource;
@@ -23,10 +22,15 @@
2322
import java.util.UUID;
2423
import java.util.stream.Collectors;
2524

26-
@RequiredArgsConstructor
2725
public class SpongeInterface implements MethodInterface<Player, ConsoleSource> {
2826
@NonNull
2927
private final FernSpongeAPI sponge;
28+
private final IFConsole<ConsoleSource> console;
29+
30+
public SpongeInterface(@NonNull FernSpongeAPI sponge) {
31+
this.sponge = sponge;
32+
console = new SpongeFConsole(Sponge.getServer().getConsole(), sponge.audienceProvider.console());
33+
}
3034

3135
@Override
3236
public boolean isMainThread() {
@@ -48,6 +52,16 @@ public FernAPIPlugin getInstance() {
4852
return sponge;
4953
}
5054

55+
@Override
56+
public @NonNull ConsoleSource getConsole() {
57+
return Sponge.getServer().getConsole();
58+
}
59+
60+
@Override
61+
public @NonNull IFConsole<ConsoleSource> getConsoleAbstract() {
62+
return null;
63+
}
64+
5165

5266
/**
5367
* @param player The player
@@ -72,8 +86,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(Object commandSender) {
7286
}
7387

7488
if(commandSender instanceof ConsoleSource) {
75-
ConsoleSource commandSender1 = (ConsoleSource) commandSender;
76-
return new SpongeFConsole(commandSender1, sponge.audienceProvider.console());
89+
return console;
7790
}
7891

7992
return null;
@@ -87,7 +100,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(Object commandSender) {
87100
*/
88101
@Override
89102
public IFConsole<ConsoleSource> convertConsoleToAPISender(@NonNull ConsoleSource commandSender) {
90-
return new SpongeFConsole(commandSender, sponge.audienceProvider.console());
103+
return console;
91104
}
92105

93106
@Override

velocity/src/main/java/com/github/fernthedev/fernapi/server/velocity/VelocityInterface.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222

2323
public class VelocityInterface implements MethodInterface<Player, ConsoleCommandSource> {
2424
private final FernVelocityAPI fernVelocityAPI;
25+
private final IFConsole<ConsoleCommandSource> console;
2526

2627
VelocityInterface(FernVelocityAPI fernVelocityAPI) {
2728
this.fernVelocityAPI = fernVelocityAPI;
29+
console = new VelocityFConsole(fernVelocityAPI.getServer().getConsoleCommandSource());
2830
}
2931

3032
@Override
@@ -48,6 +50,16 @@ public FernAPIPlugin getInstance() {
4850
return fernVelocityAPI;
4951
}
5052

53+
@Override
54+
public @NonNull ConsoleCommandSource getConsole() {
55+
return fernVelocityAPI.getServer().getConsoleCommandSource();
56+
}
57+
58+
@Override
59+
public @NonNull IFConsole<ConsoleCommandSource> getConsoleAbstract() {
60+
return console;
61+
}
62+
5163
/**
5264
* @param player The player
5365
* @return The {@link IFPlayer} player instance
@@ -75,7 +87,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(@NonNull Object command
7587
}
7688

7789
if(commandSender instanceof ConsoleCommandSource) {
78-
return new VelocityFConsole((ConsoleCommandSource) commandSender);
90+
return console;
7991
}
8092

8193
return null;
@@ -89,7 +101,7 @@ public FernCommandIssuer convertCommandSenderToAPISender(@NonNull Object command
89101
*/
90102
@Override
91103
public IFConsole<ConsoleCommandSource> convertConsoleToAPISender(@NonNull ConsoleCommandSource commandSender) {
92-
return new VelocityFConsole(commandSender);
104+
return console;
93105
}
94106

95107
@Override

0 commit comments

Comments
 (0)