Skip to content
Merged
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
4 changes: 4 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ val shadowImpl: Configuration by configurations.creating {
configurations.implementation.get().extendsFrom(this)
}

loom {
accessWidenerPath = rootProject.file("src/main/resources/cobalt.accesswidener")
}

dependencies {
minecraft(libs.minecraft)
implementation(libs.bundles.fabric)
Expand Down
2 changes: 1 addition & 1 deletion config/detekt/detekt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ complexity:

CyclomaticComplexMethod:
active: true
allowedComplexity: 6
allowedComplexity: 10

NestedBlockDepth:
active: true
Expand Down

This file was deleted.

16 changes: 0 additions & 16 deletions src/main/java/org/cobalt/mixin/client/MinecraftAccessor.java

This file was deleted.

7 changes: 4 additions & 3 deletions src/main/java/org/cobalt/mixin/client/MouseHandlerMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import net.minecraft.client.input.MouseButtonInfo;
import org.cobalt.event.EventBus;
import org.cobalt.event.impl.MouseEvent;
import org.cobalt.util.MouseMode;
import org.cobalt.util.MouseUtils;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
Expand Down Expand Up @@ -65,14 +66,14 @@ private void onMouseButton(long handle, MouseButtonInfo rawButtonInfo, int actio

@Inject(method = "turnPlayer", at = @At("HEAD"), cancellable = true)
private void onUpdateMouse(CallbackInfo callbackInfo) {
if (MouseUtils.shouldBlockRotation()) {
if (MouseUtils.getMouseMode() == MouseMode.LOCK_MOUSE) {
callbackInfo.cancel();
}
}

@Inject(method = "isMouseGrabbed", at = @At("HEAD"), cancellable = true)
private void onIsCursorLocked(CallbackInfoReturnable<Boolean> callbackInfoReturnable) {
if (MouseUtils.isForceUngrabbed()) {
if (MouseUtils.getMouseMode() == MouseMode.UNGRAB_MOUSE) {
if (this.mouseGrabbed) {
this.releaseMouse();
}
Expand All @@ -83,7 +84,7 @@ private void onIsCursorLocked(CallbackInfoReturnable<Boolean> callbackInfoReturn

@Inject(method = "grabMouse", at = @At("HEAD"), cancellable = true)
private void onLockCursor(CallbackInfo callbackInfo) {
if (MouseUtils.isForceUngrabbed()) {
if (MouseUtils.getMouseMode() == MouseMode.UNGRAB_MOUSE) {
callbackInfo.cancel();
}
}
Expand Down
41 changes: 41 additions & 0 deletions src/main/java/org/cobalt/mixin/gui/SplashManagerMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package org.cobalt.mixin.gui;

import net.minecraft.client.gui.components.SplashRenderer;
import net.minecraft.client.resources.SplashManager;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextColor;
import org.cobalt.Cobalt;
import org.cobalt.ui.theme.ThemeManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyArgs;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;

@Mixin(SplashManager.class)
public class SplashManagerMixin {

@Inject(
method = "getSplash",
at = @At("HEAD"),
cancellable = true
)
private void modifySplash(CallbackInfoReturnable<SplashRenderer> cir) {
Component splash = cobalt$createSplash();
SplashRenderer splashRenderer = new SplashRenderer(splash);

cir.setReturnValue(splashRenderer);
}

@Unique
private Component cobalt$createSplash() {
int color = ThemeManager.getActiveTheme().getAccentPrimary();

return Component.literal(Cobalt.MOD_NAME + " on top!")
.setStyle(Style.EMPTY.withColor(TextColor.fromRgb(color)));
}

}
34 changes: 0 additions & 34 deletions src/main/java/org/cobalt/mixin/gui/SplashRendererMixin.java

This file was deleted.

13 changes: 0 additions & 13 deletions src/main/java/org/cobalt/mixin/render/FrustumInvoker.java

This file was deleted.

2 changes: 2 additions & 0 deletions src/main/kotlin/org/cobalt/Cobalt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import org.cobalt.command.impl.MainCommand
import org.cobalt.event.EventBus
import org.cobalt.event.impl.WorldRenderEvent
import org.cobalt.module.ModuleManager
import org.cobalt.script.ScriptManager
import org.slf4j.LoggerFactory

object Cobalt : ClientModInitializer {
Expand All @@ -33,6 +34,7 @@ object Cobalt : ClientModInitializer {
override fun onInitializeClient() {
logger.info("Initializing $MOD_NAME ${SharedConstants.getCurrentVersion().name()} (v$MOD_VERSION)")

ScriptManager.registerScripts()
ModuleManager.registerModules()
CommandManager.register(MainCommand)

Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/org/cobalt/command/CommandManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ object CommandManager {

try {
dispatcher.execute(commandLine, player.connection.suggestionsProvider)
minecraft.commandHistory().addCommand(content)
} catch (exception: CommandSyntaxException) {
ChatUtils.sendSystemMessage("${ChatFormatting.RED}${exception.message}")
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/kotlin/org/cobalt/command/impl/MainCommand.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package org.cobalt.command.impl

import kotlin.time.Duration.Companion.seconds
import org.cobalt.Cobalt.minecraft
import org.cobalt.command.Command
import org.cobalt.command.annotation.DefaultHandler
import org.cobalt.command.annotation.SubCommand
import org.cobalt.ui.notification.NotificationManager
import org.cobalt.ui.screen.ConfigScreen
import org.cobalt.ui.screen.HudEditorScreen
import org.cobalt.util.MouseUtils
import org.cobalt.util.helper.TickScheduler

internal object MainCommand : Command(name = "cobalt", aliases = listOf("cb")) {
Expand All @@ -26,4 +29,9 @@ internal object MainCommand : Command(name = "cobalt", aliases = listOf("cb")) {
}
}

@SubCommand
fun notification(title: String, description: String, duration: Int) {
NotificationManager.queue(title, description, duration.seconds)
}

}
8 changes: 0 additions & 8 deletions src/main/kotlin/org/cobalt/dsl/Utils.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.cobalt.dsl

import org.cobalt.Cobalt.minecraft

inline val Int.red
get() = this shr 16 and 0xFF

Expand All @@ -13,9 +11,3 @@ inline val Int.blue

inline val Int.alpha
get() = this shr 24 and 0xFF

inline val mouseX: Float
get() = minecraft.mouseHandler.xpos().toFloat()

inline val mouseY: Float
get() = minecraft.mouseHandler.ypos().toFloat()
4 changes: 2 additions & 2 deletions src/main/kotlin/org/cobalt/event/impl/SkiaDrawEvent.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.cobalt.event.impl

import io.github.humbleui.skija.BackendRenderTarget
import io.github.humbleui.skija.Canvas
import io.github.humbleui.skija.DirectContext
import org.cobalt.event.Event
import org.cobalt.util.skia.WrappedBackendRenderTarget

class SkiaDrawEvent(
val context: DirectContext,
val renderTarget: WrappedBackendRenderTarget,
val renderTarget: BackendRenderTarget,
val canvas: Canvas,
) : Event()
Loading
Loading