Add debug log enabling
This commit is contained in:
@@ -8,7 +8,7 @@ root = true
|
|||||||
charset = utf-8
|
charset = utf-8
|
||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
indent_style = space
|
indent_style = tab
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
max_line_length = 120
|
max_line_length = 120
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import net.minecraft.text.Text
|
|||||||
import moe.nea.firmament.apis.UrsaManager
|
import moe.nea.firmament.apis.UrsaManager
|
||||||
import moe.nea.firmament.events.CommandEvent
|
import moe.nea.firmament.events.CommandEvent
|
||||||
import moe.nea.firmament.events.FirmamentEventBus
|
import moe.nea.firmament.events.FirmamentEventBus
|
||||||
|
import moe.nea.firmament.features.debug.DebugLogger
|
||||||
import moe.nea.firmament.features.debug.PowerUserTools
|
import moe.nea.firmament.features.debug.PowerUserTools
|
||||||
import moe.nea.firmament.features.inventory.buttons.InventoryButtons
|
import moe.nea.firmament.features.inventory.buttons.InventoryButtons
|
||||||
import moe.nea.firmament.features.inventory.storageoverlay.StorageOverlayScreen
|
import moe.nea.firmament.features.inventory.storageoverlay.StorageOverlayScreen
|
||||||
@@ -186,6 +187,24 @@ fun firmamentCommand() = literal("firmament") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
thenLiteral("debuglog") {
|
||||||
|
thenLiteral("toggle") {
|
||||||
|
thenArgument("tag", string()) { tag ->
|
||||||
|
suggestsList { DebugLogger.allInstances.getAll().map { it.tag } + DebugLogger.EnabledLogs.data }
|
||||||
|
thenExecute {
|
||||||
|
val tagText = this[tag]
|
||||||
|
val enabled = DebugLogger.EnabledLogs.data
|
||||||
|
if (tagText in enabled) {
|
||||||
|
enabled.remove(tagText)
|
||||||
|
source.sendFeedback(Text.literal("Disabled $tagText debug logging"))
|
||||||
|
} else {
|
||||||
|
enabled.add(tagText)
|
||||||
|
source.sendFeedback(Text.literal("Enabled $tagText debug logging"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
thenLiteral("sbdata") {
|
thenLiteral("sbdata") {
|
||||||
thenExecute {
|
thenExecute {
|
||||||
source.sendFeedback(Text.stringifiedTranslatable("firmament.sbinfo.profile", SBData.profileId))
|
source.sendFeedback(Text.stringifiedTranslatable("firmament.sbinfo.profile", SBData.profileId))
|
||||||
|
|||||||
@@ -1,18 +1,22 @@
|
|||||||
|
|
||||||
package moe.nea.firmament.features.debug
|
package moe.nea.firmament.features.debug
|
||||||
|
|
||||||
|
import kotlinx.serialization.serializer
|
||||||
import net.minecraft.text.Text
|
import net.minecraft.text.Text
|
||||||
import moe.nea.firmament.util.MC
|
import moe.nea.firmament.util.MC
|
||||||
import moe.nea.firmament.util.collections.InstanceList
|
import moe.nea.firmament.util.collections.InstanceList
|
||||||
|
import moe.nea.firmament.util.data.DataHolder
|
||||||
|
|
||||||
class DebugLogger(val tag: String) {
|
class DebugLogger(val tag: String) {
|
||||||
companion object {
|
companion object {
|
||||||
val allInstances = InstanceList<DebugLogger>("DebugLogger")
|
val allInstances = InstanceList<DebugLogger>("DebugLogger")
|
||||||
}
|
}
|
||||||
|
object EnabledLogs : DataHolder<MutableSet<String>>(serializer(), "DebugLogs", ::mutableSetOf)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
allInstances.add(this)
|
allInstances.add(this)
|
||||||
}
|
}
|
||||||
fun isEnabled() = DeveloperFeatures.isEnabled // TODO: allow filtering by tag
|
|
||||||
|
fun isEnabled() = DeveloperFeatures.isEnabled && EnabledLogs.data.contains(tag)
|
||||||
fun log(text: () -> String) {
|
fun log(text: () -> String) {
|
||||||
if (!isEnabled()) return
|
if (!isEnabled()) return
|
||||||
MC.sendChat(Text.literal(text()))
|
MC.sendChat(Text.literal(text()))
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
package moe.nea.firmament.features.debug
|
package moe.nea.firmament.features.debug
|
||||||
|
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
@@ -13,7 +11,6 @@ import moe.nea.firmament.features.FirmamentFeature
|
|||||||
import moe.nea.firmament.gui.config.ManagedConfig
|
import moe.nea.firmament.gui.config.ManagedConfig
|
||||||
import moe.nea.firmament.util.MC
|
import moe.nea.firmament.util.MC
|
||||||
import moe.nea.firmament.util.TimeMark
|
import moe.nea.firmament.util.TimeMark
|
||||||
import moe.nea.firmament.util.errorBoundary
|
|
||||||
import moe.nea.firmament.util.iterate
|
import moe.nea.firmament.util.iterate
|
||||||
|
|
||||||
object DeveloperFeatures : FirmamentFeature {
|
object DeveloperFeatures : FirmamentFeature {
|
||||||
@@ -43,7 +40,9 @@ object DeveloperFeatures : FirmamentFeature {
|
|||||||
MC.player?.sendMessage(Text.translatable("firmament.dev.resourcerebuild.start"))
|
MC.player?.sendMessage(Text.translatable("firmament.dev.resourcerebuild.start"))
|
||||||
val startTime = TimeMark.now()
|
val startTime = TimeMark.now()
|
||||||
process.toHandle().onExit().thenApply {
|
process.toHandle().onExit().thenApply {
|
||||||
MC.player?.sendMessage(Text.stringifiedTranslatable("firmament.dev.resourcerebuild.done", startTime.passedTime()))
|
MC.player?.sendMessage(Text.stringifiedTranslatable(
|
||||||
|
"firmament.dev.resourcerebuild.done",
|
||||||
|
startTime.passedTime()))
|
||||||
Unit
|
Unit
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user