1+ /*
2+ * Copyright 2026 Lambda
3+ *
4+ * This program is free software: you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation, either version 3 of the License, or
7+ * (at your option) any later version.
8+ *
9+ * This program is distributed in the hope that it will be useful,
10+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+ * GNU General Public License for more details.
13+ *
14+ * You should have received a copy of the GNU General Public License
15+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16+ */
17+
18+ package com.lambda.module.modules.player
19+
20+ import com.lambda.event.events.TickEvent
21+ import com.lambda.event.listener.SafeListener.Companion.listen
22+ import com.lambda.interaction.managers.inventory.InventoryRequest.Companion.inventoryRequest
23+ import com.lambda.module.Module
24+ import com.lambda.module.tag.ModuleTag
25+ import com.lambda.util.TickTimer
26+
27+ @Suppress(" unused" )
28+ object InventoryResync : Module(
29+ name = " InventoryResync" ,
30+ description = " Resyncs your inventory, with a delay between resyncs" ,
31+ tag = ModuleTag .PLAYER
32+ ) {
33+ private val delay by setting(" Delay" , 100 , 0 .. 1000 , 5 , unit = " ticks" )
34+
35+ private val timer = TickTimer ()
36+
37+ init {
38+ setModulePriority(10 )
39+ listen<TickEvent .Pre > {
40+ timer.tick()
41+ if (! timer.hasSurpassed(delay)) return @listen
42+ inventoryRequest {
43+ resyncInventory()
44+ }.submit()
45+ timer.reset()
46+ }
47+ }
48+ }
0 commit comments