diff options
| author | Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> | 2024-02-19 15:40:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-19 15:40:02 +0100 |
| commit | 96c657cbb5e1c9282911bb8b7b6f6239392ae07f (patch) | |
| tree | 8796bcfaad5210bd6a834d81cef673160bc1c96c /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | 30c49ad2a76be6b4d70924135c7a80d0a6f548cf (diff) | |
| download | skyhanni-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.kt | 14 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/PrimitiveItemStack.kt | 13 |
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) + } +} |
