aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
diff options
context:
space:
mode:
authorjani270 <69345714+jani270@users.noreply.github.com>2021-08-07 21:08:32 +0200
committerGitHub <noreply@github.com>2021-08-07 21:08:32 +0200
commit9cceb9cbf0e8da94022ddaf7d00b3565a1c83557 (patch)
treec856a219fc320d3699fc6dda6d1267ce3e9badb8 /src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
parent9ea25e893514550cb7bb587b31a2534787d98dd1 (diff)
parent9f2ae5b34c08f8fab9c52c26f56df399229a2435 (diff)
downloadnotenoughupdates-9cceb9cbf0e8da94022ddaf7d00b3565a1c83557.tar.gz
notenoughupdates-9cceb9cbf0e8da94022ddaf7d00b3565a1c83557.tar.bz2
notenoughupdates-9cceb9cbf0e8da94022ddaf7d00b3565a1c83557.zip
Merge branch 'DoKM:master' into yep
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
index 1925811d..256cf03f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java
@@ -26,6 +26,7 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.apache.commons.lang3.tuple.Triple;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
@@ -87,6 +88,36 @@ public class SlotLocking {
}
}
+ public void changedSlot(int slotNumber){
+ int pingModifier = NotEnoughUpdates.INSTANCE.config.slotLocking.slotLockSwapDelay;
+ if(pingModifier == 0){ return; };
+ long currentTimeMilis = System.currentTimeMillis();
+
+ for (int i = 0; i < slotChanges.length; i++) {
+ if(i != slotNumber && slotChanges[i] != 0 && slotChanges[i] < (currentTimeMilis+pingModifier)){
+ slotChanges[i] = 0;
+ }
+ }
+ slotChanges[slotNumber] = currentTimeMilis;
+ }
+
+ public boolean isSwapedSlotLocked(){
+ int pingModifier = NotEnoughUpdates.INSTANCE.config.slotLocking.slotLockSwapDelay;
+ if(pingModifier == 0){ return false; };
+ long currentTimeMilis = System.currentTimeMillis();
+
+ for (int i = 0; i < slotChanges.length; i++) {
+ if(slotChanges[i] != 0 && slotChanges[i] < (currentTimeMilis+pingModifier)){
+ if(isSlotIndexLocked(i)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private long[] slotChanges = new long[9];
+
public void saveConfig(File file) {
try {
file.createNewFile();
@@ -576,5 +607,6 @@ public class SlotLocking {
return locked != null && (locked.locked || (NotEnoughUpdates.INSTANCE.config.slotLocking.bindingAlsoLocks && locked.boundTo != -1));
}
+
}