summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorThunderblade73 <85900443+Thunderblade73@users.noreply.github.com>2024-02-19 15:40:02 +0100
committerGitHub <noreply@github.com>2024-02-19 15:40:02 +0100
commit96c657cbb5e1c9282911bb8b7b6f6239392ae07f (patch)
tree8796bcfaad5210bd6a834d81cef673160bc1c96c /src/main/java/at/hannibal2/skyhanni/utils
parent30c49ad2a76be6b4d70924135c7a80d0a6f548cf (diff)
downloadskyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.tar.gz
skyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.tar.bz2
skyhanni-96c657cbb5e1c9282911bb8b7b6f6239392ae07f.zip
Added GetFromSackAPI. #968
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/PrimitiveItemStack.kt13
2 files changed, 26 insertions, 1 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt
index f8a156644..533c67731 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt
@@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.utils
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.MessageSendToServerEvent
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
import net.minecraft.client.Minecraft
import net.minecraft.event.ClickEvent
@@ -11,6 +12,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import java.util.LinkedList
import java.util.Queue
import kotlin.time.Duration.Companion.milliseconds
+import kotlin.time.times
object ChatUtils {
@@ -183,6 +185,10 @@ object ChatUtils {
private var lastMessageSent = SimpleTimeMark.farPast()
private val sendQueue: Queue<String> = LinkedList()
+ private val messageDelay = 300.milliseconds
+
+ fun getTimeWhenNewlyQueuedMessageGetsExecuted() =
+ (lastMessageSent + sendQueue.size * messageDelay).takeIf { !it.isInPast() } ?: SimpleTimeMark.now()
@SubscribeEvent
fun sendQueuedChatMessages(event: LorenzTickEvent) {
@@ -191,7 +197,7 @@ object ChatUtils {
sendQueue.clear()
return
}
- if (lastMessageSent.passedSince() > 300.milliseconds) {
+ if (lastMessageSent.passedSince() > messageDelay) {
player.sendChatMessage(sendQueue.poll() ?: return)
lastMessageSent = SimpleTimeMark.now()
}
@@ -204,4 +210,10 @@ object ChatUtils {
fun sendCommandToServer(command: String) {
sendMessageToServer("/$command")
}
+
+ fun MessageSendToServerEvent.isCommand(commandWithSlash: String) =
+ splitMessage.takeIf { it.isNotEmpty() }?.get(0) == commandWithSlash
+
+ fun MessageSendToServerEvent.isCommand(commandsWithSlash: Collection<String>) =
+ splitMessage.takeIf { it.isNotEmpty() }?.get(0) in commandsWithSlash
}
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveItemStack.kt b/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveItemStack.kt
new file mode 100644
index 000000000..ad7b864b1
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/PrimitiveItemStack.kt
@@ -0,0 +1,13 @@
+package at.hannibal2.skyhanni.utils
+
+import at.hannibal2.skyhanni.utils.NEUItems.getItemStack
+
+data class PrimitiveItemStack(val name: NEUInternalName, val amount: Int) {
+
+ fun createItem() = name.getItemStack().apply { stackSize = amount }
+
+ companion object {
+
+ fun NEUInternalName.makePrimitiveStack(amount: Int) = PrimitiveItemStack(this, amount)
+ }
+}