diff options
author | inglettronald <inglettronald@gmail.com> | 2023-07-17 11:24:50 -0500 |
---|---|---|
committer | inglettronald <inglettronald@gmail.com> | 2023-07-17 11:24:50 -0500 |
commit | d68c8bb34fe41d47777c4771364d2b94b4fdbdf1 (patch) | |
tree | 8b28111d93a1b5db2a7f98764f26b7ba8a15943a /src/main/kotlin/com/dulkirfabric | |
parent | d21dad73e37c1aaba1933a52b094534865594dc7 (diff) | |
download | DulkirMod-Fabric-d68c8bb34fe41d47777c4771364d2b94b4fdbdf1.tar.gz DulkirMod-Fabric-d68c8bb34fe41d47777c4771364d2b94b4fdbdf1.tar.bz2 DulkirMod-Fabric-d68c8bb34fe41d47777c4771364d2b94b4fdbdf1.zip |
I'm all over the place today
Diffstat (limited to 'src/main/kotlin/com/dulkirfabric')
6 files changed, 82 insertions, 47 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/Registrations.kt b/src/main/kotlin/com/dulkirfabric/Registrations.kt index 519319e..16d6354 100644 --- a/src/main/kotlin/com/dulkirfabric/Registrations.kt +++ b/src/main/kotlin/com/dulkirfabric/Registrations.kt @@ -95,10 +95,10 @@ object Registrations { !BlockOutlineEvent(worldRenderContext, blockOutlineContext).post() } ClientEntityEvents.ENTITY_LOAD.register { entity, world -> - EntityLoadEvent(entity, world) + EntityLoadEvent(entity, world).post() } ServerWorldEvents.LOAD.register { server, world -> - WorldLoadEvent(server, world) + WorldLoadEvent(server, world).post() } } }
\ No newline at end of file diff --git a/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt index 3407738..6a72252 100644 --- a/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt +++ b/src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt @@ -17,7 +17,6 @@ import com.dulkirfabric.DulkirModFabric.mc import com.dulkirfabric.config.ConfigHelper.mkKeyField import com.dulkirfabric.config.ConfigHelper.mkStringField import com.dulkirfabric.config.ConfigHelper.mkToggle -import com.dulkirfabric.features.InventoryScale import kotlinx.serialization.Serializable import kotlinx.serialization.UseSerializers import kotlinx.serialization.decodeFromString @@ -60,10 +59,6 @@ class DulkirConfig { .setTooltip(Text.literal("Size of GUI whenever you're in an inventory screen")) .setSaveConsumer { newValue -> configOptions.inventoryScale = newValue - InventoryScale.scaleBuffer = newValue - InventoryScale.prevTickScale = newValue - InventoryScale.tickScale = newValue - InventoryScale.frameScale = newValue } .build() ) @@ -93,10 +88,10 @@ class DulkirConfig { .build() ) general.addEntry( - entryBuilder.mkToggle(Text.literal("AbiPhone DND"), configOptions::abiPhoneDND) + entryBuilder.mkToggle(Text.literal("Abiphone DND"), configOptions::abiPhoneDND) ) general.addEntry( - entryBuilder.mkToggle(Text.literal("AbiPhone Caller ID"), configOptions::abiPhoneCallerID) + entryBuilder.mkToggle(Text.literal("Abiphone Caller ID"), configOptions::abiPhoneCallerID) ) general.addEntry( entryBuilder.mkToggle(Text.literal("Inactive Effigy Waypoints"), configOptions::inactiveEffigyDisplay) @@ -107,6 +102,9 @@ class DulkirConfig { general.addEntry( entryBuilder.mkToggle(Text.literal("Durability-Based Cooldown Display"), configOptions::duraCooldown) ) + general.addEntry( + entryBuilder.mkToggle(Text.literal("Hide Armor Overlay in Skyblock"), configOptions::hideArmorOverlay) + ) val shortcuts = builder.getOrCreateCategory(Text.literal("Shortcuts")) shortcuts.addEntry( @@ -142,6 +140,48 @@ class DulkirConfig { } ) ) + val animations = builder.getOrCreateCategory(Text.literal("Animations")) + + //TODO: Come up with some custome float slider instead of int slider jank + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("posX"), configOptions.heldItemPosX, -300, 300) + .setSaveConsumer { newValue -> configOptions.heldItemPosX = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("posY"), configOptions.heldItemPosY, -300, 300) + .setSaveConsumer { newValue -> configOptions.heldItemPosY = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("posZ"), configOptions.heldItemPosZ, -300, 300) + .setSaveConsumer { newValue -> configOptions.heldItemPosZ = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("rotationX"), configOptions.heldItemRotX, -180, 180) + .setSaveConsumer { newValue -> configOptions.heldItemRotX = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("rotationY"), configOptions.heldItemRotY, -180, 180) + .setSaveConsumer { newValue -> configOptions.heldItemRotY = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startIntSlider(Text.literal("rotationZ"), configOptions.heldItemRotZ, -180, 180) + .setSaveConsumer { newValue -> configOptions.heldItemRotZ = newValue } + .build() + ) + animations.addEntry( + entryBuilder.startFloatField(Text.literal("scale"), configOptions.heldItemScale) + .setTooltip(Text.literal("Recommended range of .1 - 2")) + .setSaveConsumer { newValue -> + configOptions.heldItemScale = newValue + } + .build() + ) + builder.transparentBackground() screen = builder.build() @@ -164,8 +204,16 @@ class DulkirConfig { var statusEffectHidden: Boolean = false, var inactiveEffigyDisplay: Boolean = false, var disableExplosionParticles: Boolean = false, - var duraCooldown: Boolean = false - ) + var duraCooldown: Boolean = false, + var hideArmorOverlay: Boolean = false, + var heldItemPosX: Int = 0, + var heldItemPosY: Int = 0, + var heldItemPosZ: Int = 0, + var heldItemRotX: Int = 0, + var heldItemRotY: Int = 0, + var heldItemRotZ: Int = 0, + var heldItemScale: Float = 0f + ) @Serializable data class Macro( diff --git a/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt b/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt index 8c034b6..302beb9 100644 --- a/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt +++ b/src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt @@ -1,5 +1,6 @@ package com.dulkirfabric.features +import com.dulkirfabric.config.DulkirConfig import com.dulkirfabric.events.AddParticleEvent import meteordevelopment.orbit.EventHandler import net.minecraft.client.particle.ExplosionLargeParticle @@ -11,6 +12,7 @@ object CullExplosionParticles { @EventHandler fun onParticle(event: AddParticleEvent) { + if (!DulkirConfig.configOptions.disableExplosionParticles) return val particle = event.particle if (particle is ExplosionLargeParticle) { event.cancel() diff --git a/src/main/kotlin/com/dulkirfabric/features/InventoryScale.kt b/src/main/kotlin/com/dulkirfabric/features/InventoryScale.kt index 80442c3..8e5e712 100644 --- a/src/main/kotlin/com/dulkirfabric/features/InventoryScale.kt +++ b/src/main/kotlin/com/dulkirfabric/features/InventoryScale.kt @@ -2,48 +2,18 @@ package com.dulkirfabric.features import com.dulkirfabric.DulkirModFabric.mc import com.dulkirfabric.config.DulkirConfig -import com.dulkirfabric.events.ClientTickEvent -import com.dulkirfabric.events.MouseScrollEvent -import meteordevelopment.orbit.EventHandler -import net.minecraft.client.MinecraftClient import net.minecraft.client.gui.screen.ingame.HandledScreen -import net.minecraft.client.util.InputUtil -import org.lwjgl.glfw.GLFW -import kotlin.math.max object InventoryScale { - var scaleBuffer = DulkirConfig.configOptions.inventoryScale - var prevTickScale = DulkirConfig.configOptions.inventoryScale - var tickScale = DulkirConfig.configOptions.inventoryScale - var frameScale = DulkirConfig.configOptions.inventoryScale - - /** * Called every render frame, so don't put anything expensive in here. */ fun getScale(): Float { if (DulkirConfig.configOptions.invScaleBool && mc.currentScreen is HandledScreen<*>) { - val partialTicks = MinecraftClient.getInstance().tickDelta - DulkirConfig.configOptions.inventoryScale = prevTickScale + ((tickScale - prevTickScale) * partialTicks) return DulkirConfig.configOptions.inventoryScale } return 1f } - @EventHandler - fun onScroll(event: MouseScrollEvent) { - // TODO: ignore input in config screen - if (event.verticalScrollAmount == 0.0) return - val handle = MinecraftClient.getInstance().window.handle - if (InputUtil.isKeyPressed(handle, GLFW.GLFW_KEY_LEFT_CONTROL) && InputUtil.isKeyPressed(handle, GLFW.GLFW_KEY_LEFT_ALT)) - scaleBuffer = max(scaleBuffer + (.05 * event.verticalScrollAmount).toFloat(), .1f) - } - - @EventHandler - fun onTick(event: ClientTickEvent) { - // flushes the buffer to a scroll amount this tick, will be interpolated in calculatePos - prevTickScale = tickScale - tickScale = scaleBuffer - } }
\ No newline at end of file diff --git a/src/main/kotlin/com/dulkirfabric/features/KeyShortCutImpl.kt b/src/main/kotlin/com/dulkirfabric/features/KeyShortCutImpl.kt index 8e2112a..f0ca052 100644 --- a/src/main/kotlin/com/dulkirfabric/features/KeyShortCutImpl.kt +++ b/src/main/kotlin/com/dulkirfabric/features/KeyShortCutImpl.kt @@ -21,7 +21,14 @@ object KeyShortCutImpl { lastCommandHandle = System.currentTimeMillis() prevCode = event.key - TextUtils.sendCommand(it.command.trimStart('/')) + // This conditional allows for these shortcuts to work for commands or normal messages + // You have to do it this way because the messages are handled differently on the client + // side in modern versions of Minecraft. + if (it.command.startsWith("/")) { + TextUtils.sendCommand(it.command.trimStart('/')) + } else { + TextUtils.sendMessage(it.command) + } } } diff --git a/src/main/kotlin/com/dulkirfabric/features/RenderTest.kt b/src/main/kotlin/com/dulkirfabric/features/RenderTest.kt index 1f96a7b..7b6c5e6 100644 --- a/src/main/kotlin/com/dulkirfabric/features/RenderTest.kt +++ b/src/main/kotlin/com/dulkirfabric/features/RenderTest.kt @@ -1,12 +1,15 @@ package com.dulkirfabric.features +import com.dulkirfabric.events.EntityLoadEvent import com.dulkirfabric.events.WorldRenderLastEvent +import com.dulkirfabric.util.GlowingEntityInterface import com.dulkirfabric.util.WorldRenderUtils import meteordevelopment.orbit.EventHandler import net.minecraft.text.Style import net.minecraft.text.Text import net.minecraft.util.math.Vec3d import java.awt.Color +import kotlin.random.Random object RenderTest { @@ -16,11 +19,16 @@ object RenderTest { Text.literal("Home Base").setStyle(Style.EMPTY.withColor(Color(255, 100, 150, 255).rgb)), event.context, Vec3d(-183.5, 79.0, -465.5) ) + +// mc.world?.entities?.forEach { +// if (it is GlowingEntityInterface) +// it.setDulkirEntityGlow(true, Color(255, 255, 255, 255), Random(it.id).nextBoolean()) +// } } -// @EventHandler -// fun onLoadEnt(event: EntityLoadEvent) { -// if (event.entity !is GlowingEntityInterface) return -// event.entity.setDulkirEntityGlow(true, Color(255, 255, 255, 255), true) -// } + @EventHandler + fun onLoadEnt(event: EntityLoadEvent) { + if (event.entity !is GlowingEntityInterface) return + event.entity.setDulkirEntityGlow(true, Color(255, 255, 255, 255), Random(event.entity.id).nextBoolean()) + } }
\ No newline at end of file |