diff options
| author | DoKM <mcazzyman@gmail.com> | 2021-08-07 21:01:12 +0200 |
|---|---|---|
| committer | DoKM <mcazzyman@gmail.com> | 2021-08-07 21:01:12 +0200 |
| commit | 9f2ae5b34c08f8fab9c52c26f56df399229a2435 (patch) | |
| tree | 4f804c3c0783fb77bf537298c520de4193271bdc /src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/SlotLocking.java | |
| parent | 4aab295d88364050ece76cd26d2a2fdf3bbed4ea (diff) | |
| download | notenoughupdates-9f2ae5b34c08f8fab9c52c26f56df399229a2435.tar.gz notenoughupdates-9f2ae5b34c08f8fab9c52c26f56df399229a2435.tar.bz2 notenoughupdates-9f2ae5b34c08f8fab9c52c26f56df399229a2435.zip | |
Fix being able to drop slot locked items
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.java | 32 |
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)); } + } |
