Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ version = "1.3.0-SNAPSHOT"
group = "xyz.jpenilla"
description = "Server-side Fabric mod enhancing the console with tab completions, colored log output, command syntax highlighting, command history, and more."

val minecraftVersion = "26.1-snapshot-4"
val minecraftVersion = "26.1.2"

dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
implementation("net.fabricmc:fabric-loader:0.18.4")
implementation("net.fabricmc.fabric-api:fabric-api:0.142.1+26.1")
implementation("net.fabricmc:fabric-loader:0.19.2")
implementation("net.fabricmc.fabric-api:fabric-api:0.146.0+26.1.2")

annotationProcessor("org.apache.logging.log4j:log4j-core:2.25.3")

Expand All @@ -33,7 +33,7 @@ dependencies {
implementation("org.fusesource.jansi:jansi:2.4.2")
include("org.fusesource.jansi:jansi:2.4.2")

implementation("net.kyori:adventure-platform-fabric:6.9.0-SNAPSHOT")
implementation("net.kyori:adventure-platform-fabric:6.9.0")

implementation(transitiveInclude("org.spongepowered:configurate-hocon:4.2.0") {
exclude("net.kyori", "option") // provided by adventure-platform-fabric
Expand Down Expand Up @@ -61,9 +61,9 @@ fabricModJson {
mainEntrypoint("xyz.jpenilla.betterfabricconsole.BetterFabricConsole")
entrypoint("preLaunch", "xyz.jpenilla.betterfabricconsole.BetterFabricConsolePreLaunch")
mixin("better-fabric-console.mixins.json")
depends("fabricloader", ">=0.18.4")
depends("fabricloader", ">=0.19.2")
depends("fabric-api", "*")
depends("minecraft", ">1.21.11", "<26.2") // TODO ">=$minecraftVersion")
depends("minecraft", ">=$minecraftVersion", "<26.2")
depends("adventure-platform-fabric", "*")
}

Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ pluginManagement {
}

plugins {
id("xyz.jpenilla.quiet-fabric-loom") version "1.15-SNAPSHOT" apply false
id("xyz.jpenilla.quiet-fabric-loom") version "1.15.334" apply false
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
*/
package xyz.jpenilla.betterfabricconsole.console;

import java.io.IOException;
import java.nio.file.Paths;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Logger;
Expand All @@ -33,6 +34,8 @@
import org.jline.reader.LineReader;
import org.jline.reader.LineReaderBuilder;
import org.jline.reader.Parser;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;
import org.jspecify.annotations.NullMarked;
import xyz.jpenilla.betterfabricconsole.configuration.Config;

Expand All @@ -48,8 +51,11 @@ private static LineReader buildLineReader(
) {
System.setProperty("org.jline.reader.support.parsedline", "true"); // to hide a warning message about the parser not supporting

final Terminal terminal = buildTerminal();

return LineReaderBuilder.builder()
.appName("Dedicated Server")
.terminal(terminal)
.variable(LineReader.HISTORY_FILE, Paths.get(".console_history"))
.completer(completer)
.highlighter(highlighter)
Expand All @@ -61,6 +67,26 @@ private static LineReader buildLineReader(
.build();
}

private static Terminal buildTerminal() {
try {
return TerminalBuilder.builder()
.system(true)
.dumb(false)
.nativeSignals(true)
.build();
} catch (final IOException | IllegalStateException ex) {
try {
return TerminalBuilder.builder()
.system(true)
.dumb(true)
.nativeSignals(true)
.build();
} catch (final IOException fallbackEx) {
throw new IllegalStateException("Failed to initialize console terminal", fallbackEx);
}
}
}

public static ConsoleState init(
final Config config
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
import org.jline.reader.EndOfFileException;
import org.jline.reader.LineReader;
import org.jline.reader.UserInterruptException;
import org.jline.terminal.Terminal;
import org.jspecify.annotations.NullMarked;
import xyz.jpenilla.betterfabricconsole.BetterFabricConsole;
import xyz.jpenilla.betterfabricconsole.util.TerminalModeDetection;

@NullMarked
public final class ConsoleThread extends Thread {
Expand All @@ -57,7 +57,7 @@ public ConsoleThread(
@Override
public void run() {
BetterFabricConsole.LOGGER.info("Initialized Better Fabric Console console thread.");
if (TerminalModeDetection.isDumb()) {
if (Terminal.TYPE_DUMB.equals(this.lineReader.getTerminal().getType())) {
this.acceptInput(System.in);
} else {
this.acceptTerminalInput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ private TerminalModeDetection() {
}

private static TerminalMode detectMode() {
if (!CONSOLE_INPUT_AVAILABLE) {
return TerminalMode.DUMB;
}

try (Terminal terminal = TerminalBuilder.builder().system(true).dumb(false).build()) {
return Terminal.TYPE_DUMB.equals(terminal.getType()) ? TerminalMode.DUMB : TerminalMode.INTERACTIVE;
} catch (final IOException | IllegalStateException e) {
Expand Down