61 lines
1.5 KiB
Java
61 lines
1.5 KiB
Java
package net.minecraft.server.rcon;
|
|
|
|
import net.minecraft.commands.CommandSource;
|
|
import net.minecraft.commands.CommandSourceStack;
|
|
import net.minecraft.network.chat.Component;
|
|
import net.minecraft.server.MinecraftServer;
|
|
import net.minecraft.server.level.ServerLevel;
|
|
import net.minecraft.world.phys.Vec2;
|
|
import net.minecraft.world.phys.Vec3;
|
|
|
|
public class RconConsoleSource implements CommandSource {
|
|
private static final String RCON = "Rcon";
|
|
private static final Component RCON_COMPONENT = Component.literal("Rcon");
|
|
private final StringBuffer buffer = new StringBuffer();
|
|
private final MinecraftServer server;
|
|
|
|
public RconConsoleSource(MinecraftServer server) {
|
|
this.server = server;
|
|
}
|
|
|
|
/**
|
|
* Clears the RCon log
|
|
*/
|
|
public void prepareForCommand() {
|
|
this.buffer.setLength(0);
|
|
}
|
|
|
|
/**
|
|
* Gets the contents of the RCon log
|
|
*/
|
|
public String getCommandResponse() {
|
|
return this.buffer.toString();
|
|
}
|
|
|
|
public CommandSourceStack createCommandSourceStack() {
|
|
ServerLevel serverLevel = this.server.overworld();
|
|
return new CommandSourceStack(
|
|
this, Vec3.atLowerCornerOf(serverLevel.getSharedSpawnPos()), Vec2.ZERO, serverLevel, 4, "Rcon", RCON_COMPONENT, this.server, null
|
|
);
|
|
}
|
|
|
|
@Override
|
|
public void sendSystemMessage(Component component) {
|
|
this.buffer.append(component.getString());
|
|
}
|
|
|
|
@Override
|
|
public boolean acceptsSuccess() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean acceptsFailure() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldInformAdmins() {
|
|
return this.server.shouldRconBroadcast();
|
|
}
|
|
}
|