aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-07-17 11:24:50 -0500
committeringlettronald <inglettronald@gmail.com>2023-07-17 11:24:50 -0500
commitd68c8bb34fe41d47777c4771364d2b94b4fdbdf1 (patch)
tree8b28111d93a1b5db2a7f98764f26b7ba8a15943a /src/main/kotlin
parentd21dad73e37c1aaba1933a52b094534865594dc7 (diff)
downloadDulkirMod-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')
-rw-r--r--src/main/kotlin/com/dulkirfabric/Registrations.kt4
-rw-r--r--src/main/kotlin/com/dulkirfabric/config/DulkirConfig.kt66
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/CullExplosionParticles.kt2
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/InventoryScale.kt30
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/KeyShortCutImpl.kt9
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/RenderTest.kt18
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